Node.js 在不使用环境变量的情况下运行NodeJS应用程序
我有一个在Linux服务器(CentOS 6.5)上运行的节点应用程序,通过使用bash脚本设置我的环境Node.js 在不使用环境变量的情况下运行NodeJS应用程序,node.js,bash,environment-variables,nohup,Node.js,Bash,Environment Variables,Nohup,我有一个在Linux服务器(CentOS 6.5)上运行的节点应用程序,通过使用bash脚本设置我的环境 env_nodejs.sh #!/bin/bash PATH=$PATH:/opt/nodejs/node-v6.9.4-linux-x64/bin export PATH 这样我就可以 # . ./env_nodejs.sh # node /var/www/html/application/app.js 这一切都很好,但如果我在单独的脚本中执行以下操作 run_app.sh #!
env_nodejs.sh
#!/bin/bash
PATH=$PATH:/opt/nodejs/node-v6.9.4-linux-x64/bin
export PATH
这样我就可以
# . ./env_nodejs.sh
# node /var/www/html/application/app.js
这一切都很好,但如果我在单独的脚本中执行以下操作
run_app.sh
#!/bin/bash
$COMMAND=/opt/nodejs/node-v6.9.4-linux-x64/bin/node
$SITE=/var/www/html/application/app.js
nohup $COMMAND $SITE > /tmp/nodeapp.log &
这将运行节点服务器和应用程序,但出现与npm相关的错误
Error: Failed to lookup view "control/users" in views directory "/views"
我有一种感觉,这是因为没有设置环境,但是有没有一种方法可以在没有环境的情况下正确运行它,或者为npm位置传递额外的参数?它似乎试图在文件系统中的顶级目录
“/views”
中查找文件
如果是这种情况,那么这里的故障不是路径,而是PWD
请确保在定义在应用程序中查找视图的位置时,不要说'views'
或'./views'
,而是使用path.join(\uu dirname,'views')
首先需要使用:var path=require(path)来requirepath
代码>
当然,这只是我的猜测,因为您没有包含任何有问题的源代码部分。源代码是有效的,只是在未设置环境时不起作用