Я пытаюсь запустить другую версию NodeJS с, nvm
но получаю эту ошибку:
$ nvm use v4.2.4
nvm is not compatible with the npm config "prefix" option:
currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.
У меня установлен префикс с целью избежать sudo npm
(см. Https://docs.npmjs.com/getting-started/fixing-npm-permissions ).
Есть ли способ, которым я могу использовать, nvm
не теряя свой префикс для глобально установленных пакетов?
Ответы:
Удалить и сбросить префикс
Примечание. Измените номер версии на номер, указанный в сообщении об ошибке.
Кредиты @gabfiocchi на Github - «Вам нужно перезаписать префикс nvm»
источник
npm config set prefix $NVM_DIR/versions/node/<node-version-directory>
У меня была такая же проблема, и выполнение
npm config delete prefix
не помогло мне.Но это сделал:
После установки nvm с помощью brew создайте
~/.nvm
каталог:$ mkdir ~/.nvm
и добавьте следующие строки в
~/.bash_profile
:(Убедитесь, что у вас нет других команд, связанных с nvm, ни в
~/.bashrc
or,~/.profile
ни в~/.bash_profile
)Откройте новый терминал, и на этот раз он не должен печатать никаких предупреждающих сообщений.
Убедитесь, что nvm работает, выполнив
nvm --version
команду.После этого установите / переустановите NodeJS, используя
nvm install node && nvm alias default node
.Больше информации
Я установил
nvm
с помощьюhomebrew
и после этого я получил это уведомление:Игнорирование этого привело меня к этому сообщению об ошибке:
Я следовал более раннему руководству (с
homebrew/nvm
) и после этого я обнаружил, что мне нужно переустановить NodeJS. Так я и сделал:и это было исправлено.
Обновление: использование brew для установки NVM вызывает медленный запуск Терминала. Вы можете следовать этой инструкции, чтобы решить ее.
источник
nvm alias default node
казалось, помогло мне в моем случаеnvm
не поддерживается при установке через brew. Пожалуйста, удалите его и используйте правильный метод, скрипт curl в файле readme.nvm
. Этот ответ не работал для меня.rm -rf node_modules
иnpm install
снова запустить , так как каталоги уже имели проблемы с разрешениями.brew remove node -f
, который удаляет все установленные версии. Сделайте это сначала, затем следуйте руководству в моей ссылке выше, затем удалите node_modules. Вы должны получить чистую установку! Я думаю, что тогда вам также нужно установить npm, что я просто следовал инструкциям из статьи на nodejs.org, которая появилась, когда я ее искал.npm install npm@latest -g
была команда, после установки узла.Это может быть конфликтом с вашей локальной установкой Node (если в прошлом она была установлена другим способом, чем NVM). Вы должны удалить этот экземпляр узла:
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
После того, как вы не можете установить NVM
источник
Эта ошибка может возникать, когда путь к папке установки NVM имеет символическую ссылку .
объяснение
Путь установки NVM по умолчанию:
$HOME/.nvm
но ваша домашняя папка может быть символической ссылкой для другого диска, как мой случай.Например, моя домашняя папка является символической ссылкой на другой диск:
/home/myuser -> /bigdrive/myuser
Это вызывает проблему префикса.
Решение
В вашем скрипте запуска (.bashrc или .zshrc или другой) измените папку NVM на прямой путь.
Пример:
NVM_DIR="/bigdrive/myuser/.nvm"
..bashrc
источник
Я столкнулся с этим при использовании узла, установленного через
nvm
, сnvm
установленным через homebrew. Я решил это, запустивbrew uninstall nvm
,rm -rf $NVM_DIR
затем переустановив nvm, используя официальный скрипт установки, и переустановив нужную мне версию узла.Примечание: я также
$NVM_DIR
смонтировал и вставил символическую ссылку. Я вернул его обратно в мой домашний каталог.источник
Это может быть проблемой, если ваш домашний каталог где-то смонтирован, потому что nvm не работает с символическими ссылками. Поскольку мне все равно, где находится мой $ NVM_DIR, я запускаю это, и все работает нормально:
источник
У меня была та же самая проблема, и это действительно раздражало каждый раз с терминалом. Я запускаю команду в терминал, и это было исправлено
Для тех, кто пытается удалить nvm из варева
может не хватить просто заварить удаление nvm
если вы видите, что префикс npm по-прежнему / usr / local, выполните эту команду
источник
У меня такое же сообщение об ошибке, но другое решение. Автоматически сгенерированный путь во время curl (install.sh) не совпадает. Проверьте это с:
В моем случае:
/var/www//.nvm
. Показать в вашем автоматически сгенерированном файле bash и изменить его и заменить его: (~ / .bash_profile, ~ / .zshrc, ~ / .profile или ~ / .bashrc)замещать
с (например)
источник
Я следовал за https://stackoverflow.com/a/47861348/2391795 ответом, но это не сработало.
После выполнения рекомендованных команд, мой nvm больше не работал, при запуске
nvm use
будет отображаться правильная используемая версия узла, но при запускеnode -v
будет показана другая. Больше невозможно было изменить версию узла.Я удалил и переустановил NVM полностью, чтобы исправить это. Я следовал за https://github.com/creationix/nvm#manual-uninstall , запустив
Затем отредактировал мой,
.zshrc
чтобы удалить строки, связанные с NVM, которые в моем случае былиЗатем запустил новую оболочку (чтобы nvm не загружался в эту новую оболочку) и запустил https://github.com/creationix/nvm#install-script
Который добавил nvm строки, которые я ранее удалил в моем
.zshrc
.Тогда я смог использовать nvm, как раньше. Я думаю, это странный случай, когда что-то пошло не так и заставило меня переустановить все, не похоже, что большинство людей проходят через это из-за этой проблемы.
источник
Позвольте мне описать мою ситуацию.
Сначала проверьте текущий конфиг
Затем я нашел ошибку конфигурации в выводе:
Итак, я удалил
C:\\Program Files\\nodejs
в /mnt/c/Users/paul/.npmrc.источник
Я решил эту проблему, когда она отображалась на терминалах VSCode и JetBrains, но не на собственном терминале, используя следующие команды:
Это даст вам решенный путь в конце:
Оттуда удаление файлов и перезапуск VS Code должны решить проблему:
исправить ссылку: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
источник
Я искал решение для проблемы префикса nvm и нашел этот вопрос (прежде чем найти решение). Вот моя оболочка "Диалог". Надеюсь, кому-то это может пригодиться. Мне удалось установить префикс с помощью этого поста: https://github.com/npm/npm/issues/6592
Когда я пытался
npm config delete prefix
илиnvm use --delete-prefix
перед использованиемnpm --prefix="" set prefix ""
, я получил только: npm ERR! не в порядке код 0Обратите внимание, что вам придется повторять одну и ту же процедуру для каждой версии узла, после установки префикс возвращается (в моем случае) / usr / local.
источник
У меня была эта проблема после перемещения моей домашней папки на новый диск в Linux. Это было исправлено путем удаления папки .nvm и переустановки nvm
источник
Просто решил проблему. Я ссылался
$HOME/.nvm
на$DEV_ZONE/env/node/nvm
каталог. Я столкнулся с той же проблемой. Я заменилNVM_DIR
в$HOME/.zshrc
следующемКстати, пожалуйста, установите NVM, используя команду
curl
илиwget
не используяbrew
. Для получения дополнительной информации, пожалуйста, проверьте комментарий в этом выпуске на Github: 855 # issuecomment-146115434источник
nvm
сnpm
?У меня просто есть идея. Используйте символьную ссылку для устранения ошибки, и вы все равно можете использовать свой префикс для глобально установленных пакетов.
ln -s [your prefix path] [path in the '~/.nvm']
тогда у вас будет символическая папка в~/.nvm
папке, но на самом деле ваши глобальные пакеты все еще установлены в [ваш путь префикса]. Тогда ошибка не будет отображаться снова, и вы можете использовать вnvm use **
обычном режиме. PS: это работает для меняmac
. pps: не забудьте установить$PATH
в своюbin
папку npm использование глобально установленных пакетов.источник
Примечание:
чтобы удалить, удалить или удалить nvm - просто удалите
$NVM_DIR
папку (обычно~/.nvm
), которуювы можете попробовать:
rm -rf ~/.nvm
источник