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 及以上版本。
结案。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步