@AnastasiyaLebedevich
Начинающий frontend developer

Как изменить версию nodejs для пользователя?

На данный момент я работаю удаленно с сервером. У меня есть удаленный доступ к репозиторию проекта на нем (сервере). Мне необходимо установить в этом проекте node.js хотя бы версии 16. В папке с проектом установлена версия node.js 10.24.1, однако каким-то образом был обновлен npm до последней на данный момент версии. Таким образом образовался конфликт и я не могу проводить какие-либо операции с npm. Я запросила root права, чтобы можно было переустановить node.js. Я установила версию 16 с помощью nvm (также мной установленном). Однако при входе снова под изначальными данными (без root), оказалось, что в репозитории все еще установлена node 10. При проверке командой
which node
получаю ответ
/usr/bin/node

А если мы заходим под root правами, то ответ на ту же команду
/root/.nvm/versions/node/v16.18.1/bin/node
Каким образом можно решить создавшуюся проблему?
  • Вопрос задан
  • 750 просмотров
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Установите node через nvm от того пользователя, под которым она будет использоваться. Установка выполняется в каталог пользователя и не требует прав root'а.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Удаляете старую ноду, установленную, видимо, пакетом. Потом делает симлинк на ваш свежий бинарник с /usr/bin/node.
Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
1. Другие пользователи (кроме root) не смогут достучаться сюда /root/.nvm/versions/node/v16.18.1/bin/
2. Чтобы изменить приоритет поиска программы - добавьте после установки nodejs в директории пользователя в PATH в /home/user/.bashrc на первое место /$user/.nvm/versions/node/v16.18.1/bin/
Тогда сначала node будет искаться там а затем уже в /usr/bin/
Или используйте механизм update-my-alternatives для выставления нужных приоритетов и создания алиасов
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы