2017-01-19 2 views
0

У меня есть приложение, узел, который я бегу на Linux Server (CentOS 6.5), установив свою среду с Баш скриптRun NodeJS приложений без переменной окружения

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 & 

Это работает кивок е сервер и приложение, но с ошибками, которые, кажется, связаны с НПМ

Error: Failed to lookup view "control/users" in views directory "/views" 

У меня есть чувство, что это происходит потому, что окружающая среда не установлена, но есть способ, чтобы запустить его правильно без среды или передать дополнительные параметры для местоположения npm?

ответ

0

Кажется, он пытается найти файлы в "/views", который является каталогом верхнего уровня в вашей файловой системе.

Если это так, то это не PATH, а PWD здесь.

Убедитесь, что, когда вы определяете, где искать представления в своем приложении, вместо того, чтобы говорить 'views' или './views', вы используете вместо этого path.join(__dirname, 'views').

Сначала необходимо требовать path с: var path = require(path);

Конечно, это только мое предположение, как вы не включили какую-либо часть исходного кода, что у вас есть проблемы с.

+0

Исходный код работает, он просто не работает, когда среда не установлена – Trent

Смежные вопросы