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 及以上版本。
结案。

posted on 2022-01-18 10:28  死宅程序员  阅读(2774)  评论(3编辑  收藏  举报