Почему при запросе от имени root через sudo node сообщает о старой версии, несмотря на установленные NVM и последнюю версию LTS?

Почему при запросе от имени root через sudo node сообщает о старой версии, несмотря на установленные NVM и последнюю версию LTS?

Перед установкой NVM и последней версии LTS Node для fooпользователя:

foo@ubuntu: which node
/usr/bin/node
foo@ubuntu: node --version
v12.22.1

После установки NVM и последней версии LTS Node:

foo@ubuntu: which node
/home/foo/.nvm/versions/node/v14.16.1/bin/node
foo@ubuntu: node --version
v14.16.1

Тогда почему узел все еще сообщает о старой версии при запросекореньчерез судо?

root@ubuntu: sudo -u foo which node
/usr/bin/node
root@ubuntu: sudo -u foo node --version
v12.22.1

решение1

Я полагаю, это происходит потому, что когда вы являетесь пользователем root и выполняете sudo для foo, то PATH foo не указывает на более новую версию.

Если вы хотите протестировать и исправить это как

корень

echo $PATH

как фу

echo $PATH

для исправления в .bashrc root добавьте /home/foo/.nvm/versions/node/v14.16.1/bin/node

Связанный контент