AWS EC2 - Node.js 重启后不工作
AWS EC2 - Node.js not working after reboot
我已经使用 Amazon Linux AMI 2018.03.0 AMI 设置了一个小型免费 AWS 实例。我创建并配置了两个额外的用户(我和 botManager),仅此而已。然后我使用 su botManager
从 ec2-user 切换到 botManager 并且没有忘记 cd ~
.
我通过 nvm 安装了 node.js。要安装 nvm,我只需 copy/pasted 这个:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
使 nvm 可以立即访问:
. ~/.nvm/nvm.sh
如此处解释:Tutorial: Setting Up Node.js on an Amazon EC2 Instance
仍然没有问题,甚至没有警告,nvm --version
有效并且 returns 0.32.0
。
我想要最后一个 LTS 版本所以我 运行 :
nvm install --lts
一切都很顺利。 node -v
和 npm -v
都有效,分别 returned v8.11.3
和 5.6.0
.
为了确保一切稳定,我 ctrl+d
从 botManager 注销并作为 ec2-user 使用 sudo reboot
.
重新启动服务器
问题是当我在重启后以 botManager 身份重新登录并切换到它的主目录时 (~) nvm 仍在工作,但 node -v
和 npm -v
return :
bash: (node or npm): command not found
St运行gely,当我检查 nvm ls
安装了哪些版本的 node.js 时,我得到了这个:
[botManager@ip-f-o-o-o ~]$ nvm ls
v8.11.3
node -> stable (-> v8.11.3) (default)
stable -> 8.11 (-> v8.11.3) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.3 (-> N/A)
lts/carbon -> v8.11.3
如何让 node.js 在重新启动后再次工作并持续很长时间?
我的 Linux 知识远非完美,部分是自学的,因此欢迎任何帮助。
编辑 1 :
whereis node; echo path
的结果:
[botManager@ip~]$ whereis node; echo $PATH node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
编辑 2 :
新的干净安装:
nvm install --lts
的结果:
[botManager@ip-f-o-o-o~]$ nvm install --lts
Installing latest LTS version.
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v8.11.3 (npm v5.6.0)
nvm_ensure_default_set: a version is required
whereis node; echo path
的结果:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node: /home/botManager/.nvm/versions/node/v8.11.3/bin/node
/home/botManager/.nvm/versions/node/v8.11.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
的结果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重启后:
whereis node; echo path
的结果:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
的结果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重新启动后,您的 $PATH 被重置,/home/botManager/.nvm/versions/node/v8.11.3/bin
不再存在,因此您的二进制文件不可用。
在启动时将其添加到您的 $PATH 变量中:/home/botManager/.nvm/versions/node/v8.11.3/bin
编辑
将此添加到您的 .bashrc 中:
export PATH=$PATH:/home/botManager/.nvm/versions/node/v8.11.3/bin
或者将此行添加到您的 /etc/environment 文件
/home/botManager/.nvm/versions/node/v8.11.3/bin
或者在 /usr/bin
中创建符号链接
ln -s /home/botManager/.nvm/versions/node/v8.11.3/bin/node /usr/bin/node
我已经使用 Amazon Linux AMI 2018.03.0 AMI 设置了一个小型免费 AWS 实例。我创建并配置了两个额外的用户(我和 botManager),仅此而已。然后我使用 su botManager
从 ec2-user 切换到 botManager 并且没有忘记 cd ~
.
我通过 nvm 安装了 node.js。要安装 nvm,我只需 copy/pasted 这个:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
使 nvm 可以立即访问:
. ~/.nvm/nvm.sh
如此处解释:Tutorial: Setting Up Node.js on an Amazon EC2 Instance
仍然没有问题,甚至没有警告,nvm --version
有效并且 returns 0.32.0
。
我想要最后一个 LTS 版本所以我 运行 :
nvm install --lts
一切都很顺利。 node -v
和 npm -v
都有效,分别 returned v8.11.3
和 5.6.0
.
为了确保一切稳定,我 ctrl+d
从 botManager 注销并作为 ec2-user 使用 sudo reboot
.
问题是当我在重启后以 botManager 身份重新登录并切换到它的主目录时 (~) nvm 仍在工作,但 node -v
和 npm -v
return :
bash: (node or npm): command not found
St运行gely,当我检查 nvm ls
安装了哪些版本的 node.js 时,我得到了这个:
[botManager@ip-f-o-o-o ~]$ nvm ls
v8.11.3
node -> stable (-> v8.11.3) (default)
stable -> 8.11 (-> v8.11.3) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.3 (-> N/A)
lts/carbon -> v8.11.3
如何让 node.js 在重新启动后再次工作并持续很长时间?
我的 Linux 知识远非完美,部分是自学的,因此欢迎任何帮助。
编辑 1 :
whereis node; echo path
的结果:
[botManager@ip~]$ whereis node; echo $PATH node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
编辑 2 :
新的干净安装:
nvm install --lts
的结果:
[botManager@ip-f-o-o-o~]$ nvm install --lts
Installing latest LTS version.
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v8.11.3 (npm v5.6.0)
nvm_ensure_default_set: a version is required
whereis node; echo path
的结果:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node: /home/botManager/.nvm/versions/node/v8.11.3/bin/node
/home/botManager/.nvm/versions/node/v8.11.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
的结果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重启后:
whereis node; echo path
的结果:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
的结果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重新启动后,您的 $PATH 被重置,/home/botManager/.nvm/versions/node/v8.11.3/bin
不再存在,因此您的二进制文件不可用。
在启动时将其添加到您的 $PATH 变量中:/home/botManager/.nvm/versions/node/v8.11.3/bin
编辑
将此添加到您的 .bashrc 中:
export PATH=$PATH:/home/botManager/.nvm/versions/node/v8.11.3/bin
或者将此行添加到您的 /etc/environment 文件
/home/botManager/.nvm/versions/node/v8.11.3/bin
或者在 /usr/bin
中创建符号链接ln -s /home/botManager/.nvm/versions/node/v8.11.3/bin/node /usr/bin/node