Пользователь Sudo не использует ту же версию node
У меня странная проблема на моем сервере, когда я пытаюсь установить пакеты с npm
, для которых требуется sudo
Я столкнулся с проблемами, и я обнаружил, что мой su
и обычный пользователь используют разные версии node.
$ node -v i get node version 0.10.x
Но когда я делаю:
$ sudo node -v i get node version 0.6.x
Мой пользователь su
по какой-то причине использует другую версию node, чем то, что я обычно использую, и это вызывает проблемы совместимости, когда я npm install
пакеты, которым требуется sudo
.
Я попробовал sudo apt-get upgrade nodejs без везения. как заставить пользователя su использовать такую же версию node, что и мой обычный пользователь.
Ответы
Ответ 1
запустите ll /usr/bin/node
, если этот файл существует, просто запустите rm /usr/local/bin/node
у обычного пользователя
объяснение
Если вы запустите какой node
от обычного пользователя, вы, вероятно, увидите, что он указывает на каталог локального каталога пользователя
which node
/usr/local/bin/node
это означает, что обычный пользователь установил локальную версию node.
чтобы одна и та же версия node применилась ко всем пользователям, эта команда должна показать вам usr bin (не локальный).
which node
/usr/bin/node
удалив ссылку из /usr/local/bin/node
, она автоматически начнет использовать /usr/bin/node
Ответ 2
Попробуйте запустить sudo со средой пользователя:
sudo -E node -v