Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 将节点路径更改为当前目录_Node.js - Fatal编程技术网

Node.js 将节点路径更改为当前目录

Node.js 将节点路径更改为当前目录,node.js,Node.js,我试图从我的用户目录运行此命令 NODE_ENV=~/Public/project node socket.js 但它返回了这个错误 Error: Cannot find module '/home/user/socket.js' at Function.Module._resolveFilename (module.js:470:15) at Function.Module._load (module.js:418:25) at Module.runMain (mod

我试图从我的用户目录运行此命令

NODE_ENV=~/Public/project node socket.js
但它返回了这个错误

Error: Cannot find module '/home/user/socket.js'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:418:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:533:3

问题是我不想更改目录。有可能吗?为什么会发生这种情况?

按照惯例,NODE_ENV是您正在运行的环境类型,例如开发、生产或测试。它只对检查它并相应地设置选项的模块重要,例如,许多记录器在开发中会默认为更详细

不太清楚为什么不只是更改目录,但对server.js的调用可以是绝对路径或相对路径。如果文件位于/home/user/project文件夹中,您可以(从/home/user)直接调用


node./project/socket.js

经过一番研究,我发现

根据那个网站,我必须这样做

export NODE_CONFIG_DIR=/home/user/Public/project/config
然后运行这个

node ./Public/smart-backwall-server/socket.js 

它给了我这个
警告:在配置目录中找不到配置:/home/user/config警告:要禁用此警告集,请在环境中抑制\u No\u config\u警告。
在运行node./Public/project/socket.js之后。Nodejs应该在~/Public/project中找到配置文件,但它返回了该文件