我在AWS上创建了一个弹性beanstalk node.js
应用程序,它为我创建了EC2和RDS服务器。我正在使用putty
连接到我的Linux EC2实例,该实例已成功登录。
但以下命令不起作用:
node -v
npm install express -g
node
它给了我一个错误:
bash:node:command not found
答案 0 :(得分:13)
节点自动安装在您的实例上,用于弹性beanstalk。它不在路上。
在/opt/elasticbeanstalk/node-install/
文件夹下查找节点安装。
您不应该从命令行安装模块。在弹性beanstalk上安装节点模块的首选方法是通过package.json。依赖模块由aws自动安装在实例上。
答案 1 :(得分:3)
您应该立即找出正在使用的节点版本。然后你可以在你的PATH中使用它并使用npm / node binary ..
grep node /var/log/nodejs/nodejs.log
export PATH=$PATH:/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/
答案 2 :(得分:1)
假设您正在使用Amazon Linux 3.4:
> rpm -Uvh http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
> sudo yum install nodejs npm --enablerepo=epel
应该这样做。
答案 3 :(得分:1)
您可以通过运行ps aux |来找到安装节点的位置和npm grep节点。这将显示它正在运行的目录。这是他们通过安装多个版本为您提供选择节点版本的能力的方法。但正如palanik所说,除非你遇到麻烦,否则无需手动尝试。哪个是AWS上的PITA,但这是另一个讨论。