我有一个节点应用程序,我在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位置传递其他参数?
答案 0 :(得分:0)
似乎它正在尝试查找文件系统中顶级目录"/views"
中的文件。
如果是这种情况,那么它不是PATH
而是PWD
这里有错误。
确保在定义应用中查看视图的位置时,不要使用'views'
或'./views'
代替path.join(__dirname, 'views')
。
您首先需要path
:var path = require(path);
当然,这只是我的猜测,因为您没有包含您遇到问题的源代码的任何部分。