【问题标题】:Run NodeJS application without environment variable在没有环境变量的情况下运行 NodeJS 应用程序
【发布时间】:2017-01-19 09:16:34
【问题描述】:

我有一个节点应用程序,我通过使用 bash 脚本设置我的环境在 Linux 服务器 (CentOS 6.5) 上运行

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 位置传递额外的参数?

【问题讨论】:

    标签: node.js bash environment-variables nohup


    【解决方案1】:

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

    如果是这样,那么这里的问题不是PATH,而是PWD

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

    您首先需要要求path 与:var path = require(path);

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

    【讨论】:

    • 源代码可以工作,只是环境没有设置就不行
    猜你喜欢
    • 2016-10-21
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多