TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function
at promisify (internal/util.js:214:11)
at Object.<anonymous> (/root/code/tinyurl/node_modules/tencentcloud-sdk-nodejs/node_modules/get-stream/index.js:7:35)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at Module.Hook._require.Module.require (/root/app/node-v8.17.0-linux-x86/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:80:39)
at require (internal/module.js:11:18)
at Object.<anonymous> (/root/code/tinyurl/node_modules/tencentcloud-sdk-nodejs/tencentcloud/common/http/http_connection.js:7:19)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
可以看出
tencentcloud-sdk-nodejs
( "v4.0.266") 中 /node_modules/ 有依賴get-stream
("v6.0.1"),具體代碼位置:
'use strict';
const {constants: BufferConstants} = require('buffer');
const stream = require('stream');
const {promisify} = require('util');
const bufferStream = require('./buffer-stream');
const streamPipelinePromisified = promisify(stream.pipeline);
(代碼來自:https://github.com/sindresorhus/get-stream/blob/main/index.js )
其中stream.pipeline
為什么不是函數?
查閱文檔得出,該屬性是新版才支持:
https://nodejs.org/docs/latest-v10.x/api/stream.html#stream_stream_pipeline_streams_callback
說明 tencentcloud-sdk-nodejs@4.0.266
只支持 Nodejs 10.x 及以上版本。
結案。