
Я развертываю свой сайт NodeJs на VPS и следую инструкциям от моих хостинг-провайдеров, например:
https://docs.ovh.com/au/en/vps/tips-for-securing-a-vps/
Я создал «безопасного пользователя» с ограниченными правами, но когда я это делаю:
safeuser@vps:~/app$ npm init
-bash: npm: command not found
safeuser@vps:~/app$ pm2 list
-bash: pm2: command not found
Нужно ли мне переустанавливать NPM, PM2 и т. д. для моего SafeUser? Я новичок в системном администрировании...
Для пути:
debian@vps:~$ type npm
npm is hashed (/home/debian/.nvm/versions/node/v15.12.0/bin/npm)
А потом :
safeuser@vps:~/app$ /home/debian/.nvm/versions/node/v15.12.0/bin/npm init
/usr/bin/env: ‘node’: No such file or directory
решение1
Вы установили Node с помощью NVM (Node Version Manager). Это означает, что он действительно локален для пользователя.
NVM отлично подходит для разработки, но не так хорош для производственных развертываний. Вместо этого вам следует установить пакет Debian для нужной вам версии Node:https://github.com/nodesource/distributions/blob/master/README.md
После этого он станет доступен всем пользователям и его можно будет легко обновлять вместе с остальной частью системы.
решение2
Многие поставщики облачных виртуальных частных серверов требуют, чтобы вы специально запросили доступ пользователя root или, по крайней мере, вошли в систему как root, чтобы создать учетную запись с доступом sudoers. Я предлагаю изучить дополнительную документацию от вашего провайдера или просто позвонить в их службу поддержки для получения рекомендаций.