Я установил небольшой и бесплатный экземпляр AWS с AMI Amazon Linux AMI 2018.03.0. Я создал и настроил двух дополнительных пользователей (я и botManager) и больше ничего. Затем я переключился с ec2-user на botManager с su botManager
и не забыл на cd ~
.
Я установил node.js через nvm. Чтобы установить nvm, я просто копирую/вставляю это:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
Сделал nvm доступным сразу с помощью:
. ~/.nvm/nvm.sh
Как описано здесь: Учебное пособие. Настройка Node.js на инстансе Amazon EC2
По-прежнему никаких проблем, даже предупреждений, nvm --version
работает и возвращает 0.32.0
.
Мне нужна была последняя версия LTS, поэтому я запустил:
nvm install --lts
И все прошло гладко. И node -v
, и npm -v
сработали и соответственно вернули v8.11.3
и 5.6.0
.
Чтобы быть уверенным, что все стабильно, я ctrl+d
выхожу из botManager и как пользователь ec2 перезагружаю сервер с помощью sudo reboot
.
Проблема в том, что когда я снова вхожу в систему как botManager после перезагрузки и перехожу в его домашний каталог (~), nvm все еще работает, но node -v
и npm -v
возвращаются:
bash: (node or npm): command not found
Как ни странно, когда я проверяю с помощью 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% /
[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
Результатомwhereis node
является простоnode:
без возврата строки. - person Alexandre Rivara   schedule 02.08.2018whereis node
, поэтому я вручную проверил содержимое/home/botManager/.nvm/versions/node/v8.11.3/bin/
, и файлnode
все еще там. - person Alexandre Rivara   schedule 02.08.2018