Node.js 在不使用环境变量的情况下运行NodeJS应用程序

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 #!

我有一个在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

#!/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)来require
path


当然,这只是我的猜测,因为您没有包含任何有问题的源代码部分。

源代码是有效的,只是在未设置环境时不起作用