При использовании нового сеанса терминала в OS X, nvm
забывает версию узла и по умолчанию ничего не делает:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Я должен продолжать бить nvm use v.0.11.13
в каждой сессии:
.nvm
v0.11.12
-> v0.11.13
Я пробовал как brew
установку, так и официальный скрипт установки.
Моя .profile
версия для варки:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
И для сценария install.sh:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
.bash_profile
а не свой.bashrc
Ответы:
Попробуй
nvm alias default
. Например:$ nvm alias default 0.12.7
Это устанавливает версию узла по умолчанию в вашей оболочке. Затем убедитесь, что изменение сохраняется, закрыв окно оболочки, открыв новое, а затем:
node --version
источник
$ nvm alias default 0.11.13
и$ nvm use 0.11.12
я получаюnode --version = 0.11.12
. Тем не менее, в новом сеансе узел снова исчез. В Debian у меня вообще нет этой проблемы.nvm alias defaul X
. При правильном использовании это на самом деле работает. Так что рабочий процесс будетnvm install X
тогдаnvm alias default X
, я думаю. Спасибо за помощь!NVM_DIR
послеnvm.sh
. Убедитесь, что экспортировалиNVM_DIR
ранее.nvm alias default
не устанавливает версию узла для текущей среды, только для всех новых..bash_profile
(или.bashrc
что-то еще) ничего неPATH
source xx/nvm.sh
Псевдоним для
node
себя, чтобы избежать обновления псевдонима по умолчанию, а также обновления версии узла в дальнейшем.источник
node alias default stable
?stable
больше. Из документации nvm: «стабильный: этот псевдоним устарел, и действительно относится только к узлу v0.12 и более ранним версиям. В настоящее время это псевдоним для узла».node
это по умолчанию? Node, установленный и используемый NVM в текущей оболочке, или Node, возможно, установленный в системе с помощью установочного пакета Node или Homebrew и т. Д.?node
(иstable
, но все в выпущенном в semver стабильно, так что теперь это бесполезное слово) использует последнюю доступную версию. Для локальных команд последние установлены; для удаленных команд, последние доступны.Чтобы установить последнюю стабильную версию:
Чтобы установить по умолчанию стабильную версию (вместо конкретной версии):
Для просмотра списка установленных версий:
По состоянию на
v6.2.0
это это будет выглядеть примерно так:источник
nvm list
помогает пользователям визуализировать, что происходит с их версиями. Спасибо!В моем случае другая программа добавила
PATH
изменения в.bashrc
Если бы другая программа изменила
PATH
после инициализации nvm, тоPATH
изменения nvm будут забыты, и мы получим системный узел на нашемPATH
(или нет узла).Решение было перенести настройки NVM в нижней части
.bashrc
Решение:
(Это было с bash 4.2.46 на CentOS. Мне кажется, что это ошибка в bash, но я могу ошибаться.)
источник
nvm выполняет свою работу, изменяя переменную PATH, поэтому вам нужно убедиться, что вы не каким-то образом изменили свой PATH на что-то другое после использования сценария nvm.sh.
В моем случае nvm.sh вызывался в .bashrc, но затем переменная PATH обновлялась в .bash_profile, в результате чего мой сеанс находил системный узел перед узлом nvm.
источник
nvm alias default
иnvm use
в нужную мне версию..bashrc
:export NVM_DIR="$HOME/.nvm"
затем. "/usr/local/opt/nvm/nvm.sh"
Решения с самым высоким рейтингом, похоже, не работают для меня. Мое решение ниже:
brew uninstall nvm
brew install nvm
В терминале выполните следующие действия (они также перечислены при установке nvm через homebrew):
Описанные выше шаги добавят рабочий каталог NVM в ваш путь $ HOME, скопируют nvm-exec в рабочий каталог NVM и добавят в $ HOME / .bashrc, $ HOME / .zshrc или эквивалентный файл конфигурации вашей оболочки. (Опять же взято из whats перечислены при установке NVM с использованием homebrew)
источник
Если вы все перепробовали, не повезло, вы можете попробовать это: _
1 -> удалить NVM
2 -> Удалить зависимости npm, следуя этому
3 -> Установить NVM
4 -> Установить
~/.bash_profile
конфигурациюЗапустить
sudo nano ~/.bash_profile
Скопируйте и вставьте после этого
5 ->
CONTROL + X
сохранить изменения6 -> Бег
. ~/.bash_profile
7 -> Теперь вы должны были
nvm
установить на свой компьютер, чтобы установить запуск узла,nvm install v7.8.0
это будет версия узла по умолчанию или вы можете установить любую версию узлаисточник
Этот вопрос упоминается для OSX, но это случилось со мной в моей ОС Linux. Я пытался использовать,
nvm alias default <version>
но для каждого нового сеанса терминала версия используемого узла была забыта. Итак, вот решение, которое я понял.убедитесь, что вы установили псевдоним по умолчанию для версии узла , поместите следующий код в .bashrc и
source .bashrc
.ссылка на описательное решение
источник
v
в версию при настройке пульта. Например,v4.2.4
вместо4.2.4
.Doing
nvm install 10.14
, к примеру,nvm use
что версия для текущего сеанса оболочки , но это не всегда установить его в качестве значения по умолчанию для будущих сессий , как можно было бы ожидать. Версия узла, которую вы получаете в новом сеансе оболочки, определяетсяnvm alias default
. Смущает,nvm install
будет устанавливать псевдоним по умолчанию, только если он еще не установлен. Чтобы получить ожидаемое поведение, сделайте это:Это обеспечит загрузку этой версии, ее использование для текущего сеанса и установку по умолчанию для будущих сеансов.
источник
запустите это после того, как вы установили любую версию,
Эта команда копирует любую версию активного узла через nvm в каталог / usr / local / и устанавливает разрешения, чтобы все пользователи могли получить к ним доступ.
источник
&&
s вместо;
s в этой команде. Еслиwhich
не удается найти узел, мы не хотим переходить к chmod/bin/*
!Я нашел новый способ здесь. Использование
n
интерактивного управления Node.js помогает.источник
fish
оболочку, но принятый ответ мне не помог.n
работает удовольствие!Я использую ZSH, поэтому мне пришлось изменить
~/.zshrc
строки, касающиеся NVM, в следующем порядке:источник
когда мы используем вышеупомянутую команду, только обновляем версию узла, но
npm
все еще использует старую версию.Вот еще одно решение для обновления обоих,
node
иnpm
в моем случае я хочу использовать узел,8.9.4
и я использовал команду ниже.И команда возвращает результат.
источник
Если у вас также есть SDKMAN ...
Каким-то образом SDKMAN конфликтовал с моим NVM. Если вы в своем уме с этим и не можете понять, я просто исправил это, проигнорировав «ЭТО ДОЛЖНО БЫТЬ В КОНЦЕ ФАЙЛА ...» из SDKMAN и поместив строки NVM после него.
источник
Я столкнулся с той же проблемой при использовании встроенного терминала в VS Code Editor. Перезапуск VS Code после изменения версии узла с помощью nvm устранил проблему для меня.
источник
Вот простая инструкция:
1) Установите:
2) Используйте один раз на терминал
3) Установить по умолчанию для всех терминалов
Возможно, вам придется использовать права root для выполнения этих действий.
И не забудьте проверить документацию nvm для получения дополнительной информации.
Также обратите внимание, что вам может потребоваться указать версию узла для вашей IDE:
источник
Также в случае, если перед установкой nvm вы установили узел в ~ / .bash_profile, чтобы не было что-то вроде:
Если он у вас есть, прокомментируйте / удалите его, и nvm должен начать обрабатывать версию узла по умолчанию.
источник
После долгого конфликта с этой проблемой, я нашел, как это исправить. Вот пошаговое решение проблемы:
Откройте терминал и установите инструменты разработчика командной строки:
xcode-select --install
Нажмите Ввод
Установите последнюю версию NVM:
cd ~/
Нажмите Ввод
git clone https://github.com/creationix/nvm.git .nvm
Если вы уже создали папку .nvm, вы увидите следующее сообщение об ошибке:
fatal: destination path '.nvm' already exists and is not an empty directory.
Иначе, вы увидите процесс клонирования, пока он не завершится.
Проверьте последнюю версию NVM:
cd ~/.nvm
Нажмите Ввод
git checkout v0.34.0
Вы получите ответ, похожий на:
HEAD is now at 3d9c31d v0.34.0
Версия может отличаться в разных системах.
ls
Нажмите Ввод
. nvm.sh
Нажмите Ввод
nvm list
Нажмите Ввод
Вы увидите различные версии узлов, установленные на вашем компьютере, могут быть некоторые ошибки, не обращайте на них внимания.
nvm ls-remote | tail -n9
Нажмите Ввод
nvm list
Откройте bash с помощью vim:
vim ~/.bash_profile
Внутри редактора vim нажмите:
i
для вводаINSERT mode
и начала новой строки. Если у вас есть какие-либо ошибки при редактировании, нажмитеESC
клавишу и затем,:q!
чтобы выйти без сохранения.export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Нажмите
ESC
клавишу, когда закончите редактирование файла (вы увидите, что режим INSERT исчезнет).:wq
чтобы сохранить файл.Нажмите Ввод
nvm ls-remote | tail -n9
Нажмите enter и установите новейшую версию nvm:
nvm install 12.6.0
Когда процесс закончится, вы увидите:
Now using node v12.6.0 (npm v6.9.0)
Вы можете проверить успешность установки, нажав:
node -v
илиnpm -v
он должен показать вам версии nvm и npm, установленные в вашей системе.источник