Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeError:path.join的参数必须是字符串NodeJS_Node.js_Path_Arguments_Typeerror - Fatal编程技术网

Node.js TypeError:path.join的参数必须是字符串NodeJS

Node.js TypeError:path.join的参数必须是字符串NodeJS,node.js,path,arguments,typeerror,Node.js,Path,Arguments,Typeerror,我正在使用NodeJS express为一些家庭域创建一个简单的web API。对于我的电视,我使用以下库--> 例如,当我在本地运行代码时 var lgtv = require('lgtv2')({ url: 'ws://192.168.178.31:3000' }); lgtv.on('error', function(err) { console.log(err); }); lgtv.on('connect

我正在使用NodeJS express为一些家庭域创建一个简单的web API。对于我的电视,我使用以下库-->

例如,当我在本地运行代码时

        var lgtv = require('lgtv2')({
        url: 'ws://192.168.178.31:3000'
    });

    lgtv.on('error', function(err) {
        console.log(err);
    });

    lgtv.on('connect', function() {
        console.log('connected');
        lgtv.request('ssap://system/turnOff', function(err, res) {
            lgtv.disconnect();
        });

    });
很好。但是,部署到我的Synology NAS的相同代码会导致错误

TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at exports.join (path.js:358:36)
at module.exports (/volume1/web/NodeJS/node_modules/persist-path/index.js:19:22)
at new LGTV (/volume1/web/NodeJS/node_modules/lgtv2/index.js:47:16)
at LGTV (/volume1/web/NodeJS/node_modules/lgtv2/index.js:38:16)
at Object.module.exports.setNetflix (/volume1/web/NodeJS/controllers/tv.js:50:36)
at /volume1/web/NodeJS/routes/routes.js:43:12
at Layer.handle [as handle_request] (/volume1/web/NodeJS/node_modules/express/lib/router/layer.js:95:5)
at next (/volume1/web/NodeJS/node_modules/express/lib/router/route.js:137:13)
我能发现的唯一实际差异是NPM版本,它在本地是v10.14.1,在我的NAS上是v0.10.48。有没有办法绕过这个问题,让它正常工作


兰迪

这是一个非常奇怪的图书馆

试试这个代码

console.log('Platform = ',process.platform);
var lgtv = require('lgtv2')({
    url: 'ws://192.168.178.31:3000',
    clientKey: ''
});

lgtv.on('error', function(err) {
    console.log(err);
});

lgtv.on('connect', function() {
    console.log('connected');
    lgtv.request('ssap://system/turnOff', function(err, res) {
        lgtv.disconnect();
    });

});

我的第一个建议是使用您将在生产中使用的相同版本准确地测试您的代码。与NAS上的版本相同。我的第二个想法是升级NAS上的版本,以反映您的开发环境。在我看来,npm版本之间的版本差异也是巨大的。