Я пытаюсь получить набор с НПМ и nodejs на Ubuntu Server, но заметил, что как-то я закончил с двумя версиями после запуска sudo apt-get install nodejs npm
Я знаю это, потому что, когда я бегу npm -v
, он возвращает 1.3.10
, а когда я запустил sudo npm -v
, он возвращает 2.3.0
. Я бы хотел, чтобы это было настроено правильно, прежде чем я пойду дальше. Кто-нибудь понимает, почему у меня закончились две версии? Я понимаю, что установка nodejs также должна устанавливать npm, но это только позволяет мне запускать npm с повышенными привилегиями, которые, как я знаю, я не должен делать. Может ли кто-нибудь сообщить мне, что я делаю неправильно? Спасибо.Почему у меня есть две версии НПМ
ответ
Для некоторых дистрибутивов Linux (Debian/Ubuntu и RedHat/CentOS) последняя версия узла, предоставляемая дистрибутивом, может отставать от стабильной версии. Here are instructions from NodeSource о получении последнего узла.
Затем вы можете установить последние npm
, запустив sudo npm i -g [email protected]
.
Попробуйте запустить which npm
, а затем sudo which npm
, чтобы увидеть, что считается глобальной установкой, и удалите другую. Затем укажите свою среду на существующую npm.
Вклад npm
содержит nodejs
и nodejs
Включает npm
. По крайней мере, они включают разные версии npm (я не проверял версии узлов), которые затем конфликтуют. Оказывается, что nodejs
включает в себя более позднюю версию npm
(и я бы предположил более новую версию узла), так что это тот, который я решил продолжить. Вот полное решение, которое сработало для меня.
Удалите все версии узла и npm. Затем запустите sudo apt-get install nodejs
. Наконец, перезагрузите систему.
После перезагрузки npm можно запускать без повышенных привилегий, но при этом не удается установить без них. Чтобы исправить это, полезен совет в ответе this. Короче говоря, создайте следующий файл конфигурации для хранения пакетов в другом месте:
#~/.npmrc
prefix=~/.npm_modules
Я не совсем уверен, что часть перезагрузки игры, но появляется некоторая память npm
пакета сохраняется после его удаления. Перед перезагрузкой ubuntu продолжает искать npm в/usr/bin/даже при том, что он находится в/usr/local/bin /. Я бы предположил, что это имеет отношение к порядку каталогов в переменной окружения PATH, но если кто-то может заполнить то, что мне здесь не хватает, я был бы признателен, даже если бы только в информационных целях.
EDIT
После создания этого поста, мне пришло в голову, что изменение расположения НПМ пакетов может представлять проблему для обновления НПМ npm install -g npm
который я думаю, предлагаемый способ сделать обновление. Альтернативное решение, которое я видел, - сделать текущего пользователя владельцем местоположения пакета по умолчанию, но это кажется мне немного глупым и не будет работать для многопользовательских настроек. Кто-нибудь знает о лучшем решении? Вся эта установка npm кажется немного уловкой-22 ...
Перезагрузка помогла исправить мою проблему, спасибо –
Это старый вопрос, но у меня недавно была аналогичная проблема с окнами, где я установил узел js и скрипт градиента, контролирующий мою сборку.npm --version в командной строке сообщила правильную версию npm, но задача градации получила другую. Раньше я запускал команду npm -g npm @ latest, и именно так я попал в беду.
Как оказалось, «другая» версия npm была размещена в моей папке пользователя в npm-кеше, и как только я удалил эту папку, моя задача о градиенте обнаружила только мою установленную копию npm.
- 1. Почему у меня есть две одинаковые разрешения
- 2. Почему у нас есть две версии Java?
- 3. в случае, если у меня есть две версии show.html.erb
- 4. Почему у меня есть две папки res в моем проекте?
- 5. У меня есть две таблицы, у которых есть миллион записей
- 6. У меня есть две проблемы с tcpdf
- 7. У меня есть две петли, которые сталкиваются
- 8. Почему у меня есть замок?
- 9. Почему у меня есть NullReferenceException?
- 10. Почему у меня есть stackoverflow
- 11. Почему у Roslyn есть две версии синтаксиса для каждого языка?
- 12. В msdn есть две версии RichTextBox. Почему существуют две версии?
- 13. Почему есть две разные версии php?
- 14. Почему у меня разные версии npm в разных каталогах Windows?
- 15. Перегрузка У меня две ошибки
- 16. Почему у меня есть в Java String?
- 17. Почему у меня есть исключение NullPointerException?
- 18. Почему у меня есть утечки памяти?
- 19. Vim, почему у меня есть выделенные части?
- 20. Почему у меня есть слайдер с модальным?
- 21. Почему у меня есть exc_bad_access делает литье?
- 22. Почему у меня есть зависимость от gwt?
- 23. Почему у меня есть эта ошибка laravel?
- 24. Почему у меня есть ошибка проверки?
- 25. Почему у меня есть ClassCastException здесь?
- 26. Composer, почему у меня есть несколько подкаталогов?
- 27. Почему у меня есть два окна tkinter?
- 28. Почему у меня есть # в url <
- 29. Почему у меня есть в поле TextView?
- 30. Почему у меня есть исключение типа несоответствия?
На самом деле я пробовал это уже, но я не знаю, как определить, что является глобальным. Я также не думаю, что 'sudo, какой npm' дает то, что эта команда намеревается. Обе команды, указывающие на ту же версию npm (/ usr/local/bin/npm). Есть ли способ применить 'sudo' к' npm' вместо '' 'и' npm'? – user2027202827
sudo su для root и просто запустите 'which npm', чтобы быть уверенным. – taco
@hobenkr вы это выдумали? – taco