运行没有环境变量的NodeJS应用程序

时间:2017-01-19 09:16:34

标签: 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

#!/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位置传递其他参数?

1 个答案:

答案 0 :(得分:0)

似乎它正在尝试查找文件系统中顶级目录"/views"中的文件。

如果是这种情况,那么它不是PATH而是PWD这里有错误。

确保在定义应用中查看视图的位置时,不要使用'views''./views'代替path.join(__dirname, 'views')

您首先需要pathvar path = require(path);

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