Node Version Manager install-команда nvm не найдена


Я пытаюсь установить NVM в соответствии с этими - инструкции

Я набрал эту команду в терминале:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

после запуска установки я перезапускаю терминал и пытаюсь установить узел.js с помощью этой команды:

$ nvm install 0.8

но я получаю ответ:

-bash: nvm: command not found

Я не уверен, что я делаю неправильно здесь.

Дополнительная Информация--

Я искал решения из других сообщений и форумы. Я нашел другое решение с помощью

$ git clone git://github.com/creationix/nvm.git ~/.nvm

но это время каждый раз, когда я пытаюсь это сделать. Любая помощь будет оценена по достоинству. Спасибо.

19 155

19 ответов:

Проверьте .bash_profile или . Скорее всего, у вас возникли проблемы во время установки.

вы должны иметь следующее В конце одного из этих файлов.

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

The . $HOME/.nvm/nvm.sh это то же самое, что source $HOME/.nvm/nvm.sh

посмотреть: поиск файла

вы также можете проверить, есть ли у вас .

ls -a | grep .nvm

Если вам не хватает этой папки, то установка не удалось запустить команду git. Этот может быть из за прокси. Вместо этого попробуйте выполнить следующее.

git clone http://github.com/creationix/nvm.git .nvm

Я думаю, что вы пропустили этот шаг:

source ~/.nvm/nvm.sh

вы можете запустить эту команду на bash или вы можете поместить его в файл /.bashrc или ~/.профиль для автоматической загрузки

https://github.com/creationix/nvm

source ~/.nvm/nvm.sh добавить эту строку в~/.bashrc,~/.профиль или./~ zshrc

в macOS, я должен был источник его с помощью source ~/.nvm/nvm.sh команда для устранения этой проблемы.

после этого добавьте следующие строки

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

на ~/.bash_profile Так что nvm будет получен автоматически при входе в систему.

это работает для меня:

  1. перед установкой nvm выполните в терминале: touch ~/.bash_profile

  2. после этого запустите это в терминале:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. важно... не забудьте перезагрузка терминал или используйте команду source ~/.nvm/nvm.sh (это обновит доступные команды в вашем системном пути).

  4. в терминале, используйте команду nvm --version и вы должны увидеть версию

быстрый ответ

выяснить следующее:

  1. какую оболочку использует ваш терминал, введите:echo найти (нормально работает)
  2. какой файл запуска загружает эту оболочку при запуске (не начальный файл оболочки входа нормальный начальный файл оболочки, есть разница!)
  3. добавить source ~/.nvm/nvm.sh к этому файлу (предполагая, что файл существует в этом месте, это установки по умолчанию)
  4. начать новую терминальную сессию
  5. прибыль?

пример

как вы можете видеть это состояние zsh, а не bash. enter image description here

чтобы исправить это, мне нужно добавить source ~/.nvm/nvm.sh до ~/.zshrc файл как при запуске нового терминала мой Deepin терминал zsh читает ~/.zshrc и не bashs ~/.bashrc.

почему это происходит

это происходит потому, что при установке он добавляет код ~/.bashrc, как мой терминал Deepin терминал использует zsh, а не bash Он никогда не читает ~/.bashrc и поэтому никогда не загружает NVM.

другими словами: это ошибка NVMs.

подробнее о zsh можно прочитать на одном из ответов здесь.

не напрямую связан с вопросом, но есть аналогичная проблема, которая может произойти, взгляните на этот вопрос:не удается выполнить nvm из нового bash


вот мой ответ на этот пост, просто для справки:

Если вы работаете с новым экземпляром bash, и у вас есть код инициализации на вашем ~/.bashrc,~/.файл, и т. д, тогда вам нужно проверить этот файл инициализации условия.

на Ubuntu 14, есть:

case $- in
    *i*) ;;
      *) return;;
esac

в строке 6 это остановит его выполнение, если bash не запускается с флагом "-i" (interactive). Так что вам нужно будет запустить:

bash -i

кроме того, в конце файла есть

[ -z "$PS1" ] && return

это остановит его выполнение, если не выполняется с набором $PS1 (например, на удаленном сеансе ssh).

Если вы не хотите добавлять какие-либо env vars или флаги, вам нужно будет удалить их условные обозначения из файла инициализации.

надеюсь, что это полезно.

Если вы используете OS X, возможно, вам придется создать свой .файл bash_profile перед запуском команды установки. Это сделало его для меня.

создать файл профиля

touch ~/.bash_profile

повторно запустите установку, и на этот раз вы увидите соответствующую строку в выходных данных.

= > добавление исходной строки в /Users/{username}/.файл

перезагрузите свой профиль (или закройте/повторно откройте окно терминала).

.  ~/.bash_profile

добавьте следующие строки в файлы ~/.bashrc и ~/.bash_profile:

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

и перезагрузить терминал или сделать source ~/.bashrc или source ~/.bash_profile. Если вам нужно завершение команды для nvm, то также добавьте строку:

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

вместе с вышеуказанными строками к ~/.bashrc и ~/.bash_profile.

я исправил эту проблему.

  1. touch ~/.файл
  2. открыть ~/.файл
  3. вставить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

сценарий установки nvm по умолчанию добавляет код инициализации в ваш $HOME/.profile, который загружается только оболочка (в среду рабочего стола вы можете никогда не увидеть оболочку).

команда nvm в вашей оболочке входа не распространяется на вложенные оболочки (например, консольные окна и терминалы IDE после входа в систему). Этот фрагмент в вашем $HOME/.bashrc будет загружаться только nvm, если это интерактивная оболочка и еще не была загружена

# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
  export NVM_DIR="$HOME/.nvm"
fi

# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
  # if nvm command is not defined
  if ! type -t nvm >/dev/null ; then
    # set it
    source "$NVM_DIR/nvm.sh"
  fi
fi

положить это в ваш $HOME/.bashrc файл исправит отсутствующую проблему nvm в интерактивных оболочках bash, даже из графического интерфейса, и даже если nvm установлен в нестандартном месте.

на Debian, а также добавление следующих строк в мой .файл как один из ответов сказал. Мне также пришлось открыть Мои настройки терминала (Edit -> Profile Preferences -> Command) и включить "Run command as a login shell", чтобы заставить его работать.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Edit: для тех, кто на Mac, имейте в виду, что macOS не читает .bashrc на терминальном старте, так используя .bash_profile является предпочтительным. См. Здесь.

для моего случая, это потому что я использую рыбное. если я не начну рыбное, просто введите nvm теперь не будет ошибки.

все ответы на эти вопросы будут полезны. Особенно мне помог ответ, данный Трэвисом. Для пользователей Mac OS X я хотел бы предоставить некоторые шаги, которые помогут им работать с новой установкой Node Version Manager a.k.a. nvm.

установка и использование nvm на Mac OS X

вот шаги для новой установки nvm и использования его без каких-либо проблем:

  • установить Homebrew от здесь.
  • С помощью homebrew install nvm

    brew update brew install nvm

  • создать . Нажмите CTRL + X для выхода из редактора:

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • теперь либо совсем (CMD + Q) терминал или выполнить команду ниже, чтобы загрузить .bash_profile параметры:

    source ~/.bash_profile

  • теперь бегите nvm ls команда для получения списка всех установленных версий nodejs.

для проблема была исправлена, когда я переехал

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

до конца .zshrc

Сначала добавьте следующие строки в ~/.bashrc file

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

затем откройте терминал и источник nvm.sh скрипт

source ~/.nvm/nvm.sh

для меня это сработало. Сначала проверьте, что файл .bashrc имеет следующие строки

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Теперь bashrc загружается для каждого терминального сеанса. Таким образом, перезагрузите терминал, чтобы он снова загрузился, и вам должно быть хорошо идти.

на Windows 8.1 x64 то же самое случилось со мной, и получил следующее сообщение.

nvm install 8.3.0 bash: nvm: команда не найдена windows

Итак, выполните или проверьте следующие шаги -

установить coreybutler/nvm-windows С github.com. В настоящее время доступна последняя версия 1.1.5 nvm-setup.zip, позже извлек настройки nvm-setup.exe и установить в следующих местах:

NVM_HOME    : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs

и между тем установка будет управлять окружающей средой переменная в Path как сказано выше для вас.

теперь выполнить Git Bash в качестве администратора и потом.

$ nvm install 8.3.0 all

Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.3.0

$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)

здесь выполнить команду без использования префикса $, это просто показано здесь, чтобы определить его как командную строку, и теперь мы проверим версию nvm.

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

если у вас есть проблемы с помощью nvm установить node, вы можете увидеть этот список доступен nodejs релизы здесь https://nodejs.org/download/release/ и выберите правильный установщик как в вашу версию требования равную или более высоко чем v6.3.0 напрямую.

Я также столкнулся с той же проблемой недавно и sourcing NVM bash script с помощью source ~/.nvm/nvm.sh решена эта проблема.