我尝试通过SSH在我的服务器上安装某些软件,但由于某种原因无法找到node.js。我输入:
'./public_html/server/Start-linux.sh'
进入引用安装脚本文件的命令行,其代码为:
#!/bin/bash
##Function Definition
pause() {
read -p "Press [Enter] key to exit"
}
cd $(dirname $0) # cd scr dir
if [ ! "$(id -u)" = 0 ] && [ ! -f ".readwarning" ]; then
echo "WARNING: Ogar uses priveleged ports by default, which may" \
"cause an error. Please either change the ports in the config" \
"file (gameserver.ini) to two different ports above 1024, or run" \
"this script as root. This warning will only be shown once, unless" \
"the file \".readwarning\" is deleted" 1>&2
touch .readwarning
sleep 5
fi
#Check which command to execute, nodejs (debian based) or node (others)
#This will give priority to nodejs
command -v nodejs &>/dev/null
if [ $? -eq 0 ]; then
nodejs index.js
else
command -v nodejs &>/dev/null
if [ $? -eq 0 ]; then
node index.js
else
nodejs index.js echo "Couldn't find nodejs. Please install it and ensure it is in your \$PATH"
fi
fi
# Pause
#pause
然后我收到一条错误消息:"无法找到nodejs。请安装它并确保它在$ PATH"。
中当我键入' node -v'在命令行中它返回' v4.4.2',显然它就在那里。为什么会说它没有被发现?还有什么是$ PATH?我如何确保nodejs在$ path中?
我是SSH和node.js的初学者,所以任何帮助都将不胜感激。我在linux centos 64bit系统中。
答案 0 :(得分:0)
nodejs
是某些系统上Node.js二进制文件的名称,以避免与作为Ubuntu一部分的amateur packet radio networks的名为node node
的旧程序发生冲突。他们真的应该重命名这个包,避免一切混乱。
首选名称为node
,调用nodejs
是特定于平台的。我认为您可以将这些调用重命名为node
,而且它可以正常工作。
答案 1 :(得分:0)
您检查了nodejs
两次:command -v nodejs &>/dev/null
您的第二次检查应为command -v node &>/dev/null