Как исправить ошибку 'nvm command not found' при установке
Узнайте, как устранить ошибку 'nvm command not found' при установке Node Version Manager. Руководство с решениями для конфигурации оболочки и сетевых проблем.
Установка Node Version Manager (NVM): ошибка «nvm: command not found» после установки
Я пытаюсь установить Node Version Manager (NVM) на своей системе. Я выполнил шаги установки, запустив следующую команду в терминале:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
После завершения установки я перезапустил терминал и попытался установить Node.js командой:
$ nvm install 0.8
Однако я получил следующее сообщение об ошибке:
-bash: nvm: command not found
Я не понимаю, что я делаю не так в процессе установки.
Дополнительная информация
Я изучил другие решения и нашёл альтернативный способ установки:
$ git clone git://github.com/creationix/nvm.git ~/.nvm
Но эта команда каждый раз завершается тайм‑аутом.
Что может вызывать ошибку «nvm: command not found» и как правильно установить NVM на мою систему?
Ошибка «nvm command not found» обычно возникает, потому что NVM не был корректно подключён в файл конфигурации оболочки или терминальная сессия не была перезапущена после установки. Это распространённая проблема, которую можно решить, вручную добавив NVM в конфигурацию оболочки или убедившись, что скрипт установки выполнен правильно.
Содержание
- Распространённые причины ошибки «nvm command not found»
- Пошаговые решения
- Альтернативные методы установки
- Устранение сетевых проблем
- Настройка после установки
- Проверка успешной установки
Распространённые причины ошибки «nvm command not found»
Ошибка, с которой вы столкнулись, может возникнуть по нескольким причинам:
-
Не обновлён файл конфигурации оболочки: NVM изменяет файлы конфигурации оболочки (например,
.bashrc,.zshrc,.profile), чтобы автоматически загружать NVM при запуске новой сессии терминала. Иногда этот процесс завершается неудачно или не полностью. -
Не перезапущена терминальная сессия: Даже если конфигурация обновлена, необходимо закрыть и открыть терминал, чтобы изменения вступили в силу. То же самое относится, если вы установили NVM в одном терминале и пытаетесь использовать его в другом.
-
Проблемы с выполнением скрипта установки: Скрипт установки через
curlилиwgetможет не завершиться успешно, оставив систему в неконсистентном состоянии. -
Проблемы с переменной окружения PATH: Каталог NVM может не быть корректно добавлен в переменную
PATH, из‑за чего система не может найти командуnvm. -
Сетевые или прокси‑проблемы: Как отмечено в обсуждениях на Stack Overflow, работа за прокси может привести к неудачной установке и неполной настройке.
Пошаговые решения
Решение 1: Ручная настройка оболочки
Если автоматическая настройка не сработала, вам нужно вручную добавить NVM в файл конфигурации оболочки:
-
Сначала проверьте, где установлен NVM:
bashls -la ~/.nvm -
Отредактируйте файл конфигурации оболочки. Если вы используете Bash:
bashnano ~/.bashrc
Или если вы используете Zsh:
bashnano ~/.zshrc
-
Добавьте эти строки в конец файла:
bashexport NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Это загружает nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # Это загружает nvm bash_completion -
Сохраните файл и полностью перезапустите терминал.
Как отмечают участники DEV Community, «Закройте и перезапустите терминал, это должно исправить ошибку!»
Решение 2: Ручной импорт конфигурации
Если перезапуск не помогает, вы можете импортировать конфигурацию в текущую сессию:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Это сделает nvm доступным в текущем терминале без перезапуска.
Решение 3: Проверка места установки
Если NVM всё ещё не работает, проверьте, правильно ли он установлен:
which nvm
Команда должна вернуть путь, например /home/yourusername/.nvm/nvm.sh. Если ничего не выводится, установка могла завершиться с ошибкой.
Как пишет Prashant Agarwal в Medium, «Проверьте, установлен ли nvm, выполнив which nvm в терминале. Если nvm установлен, эта команда должна вывести путь к исполняемому файлу nvm.»
Альтернативные методы установки
Метод 1: Официальный скрипт установки
Самый надёжный способ — использовать официальный скрипт установки из репозитория NVM на GitHub:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Версия может быть устаревшей, поэтому проверьте актуальную версию в официальном репозитории NVM.
Как упоминается в Better Stack Community, «Рассмотрите использование curl или wget для установки NVM. Следуйте инструкциям в официальном репозитории NVM для альтернативных методов установки.»
Метод 2: Клонирование репозитория (за прокси)
Если команда git clone завершается тайм‑аутом из‑за сетевых проблем, попробуйте альтернативы:
-
Использовать SSH вместо HTTP:
bashgit clone git@github.com:nvm-sh/nvm.git ~/.nvm -
Глубокий клонинг:
bashgit clone --depth 1 https://github.com/nvm-sh/nvm.git ~/.nvm -
Другой URL Git:
bashgit clone https://github.com/nvm-sh/nvm.git ~/.nvm
Устранение сетевых проблем
Если вы сталкиваетесь с тайм‑аутами сети или проблемами прокси:
-
Проверьте подключение к сети:
bashping github.com
-
Настройте параметры прокси, если необходимо:
bashexport http_proxy="http://your-proxy:port" export https_proxy="https://your-proxy:port" -
Попробуйте альтернативные URL:
bashcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
Используйте
wgetвместоcurl:bashwget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Как отмечено в обсуждении Stack Overflow, «В большинстве случаев вы за прокси и не настроены правильно.»
Настройка после установки
После успешной установки NVM есть дополнительные шаги, чтобы убедиться, что он работает корректно:
Установка версии Node по умолчанию
NVM не устанавливает автоматически версию Node по умолчанию. Вам нужно либо:
-
Установить версию по умолчанию:
bashnvm alias default <версия> -
Использовать конкретную версию в текущей сессии:
bashnvm use <версия>
-
Добавить в конфигурацию оболочки для автоматического выбора версии:
bashecho 'nvm use --default 18' >> ~/.bashrc
Как отмечают участники Ask Ubuntu, «nvm не устанавливает никакую версию node автоматически, поэтому если вы только что установили nvm и установили версию node, а затем пытаетесь использовать node при следующем входе, вы получите ошибку «command not found: node», если не выполните nvm use <версия> в каждой сессии терминала.»
Установка Node.js
После того как NVM работает, установите Node.js:
nvm install 18 nvm use 18
Проверка успешной установки
Чтобы убедиться, что NVM установлен правильно:
nvm --version
Команда должна вывести номер версии NVM.
Затем проверьте наличие Node.js:
node --version npm --version
Обе команды должны вывести номера версий без ошибок.
Если проблемы сохраняются, проверьте каталог NVM:
ls -la ~/.nvm
В каталоге должны быть файлы и папки NVM.
Источники
- Better Stack Community – Node Version Manager Install – Nvm Command Not Found
- Stack Overflow – Node Version Manager install – nvm command not found
- Ask Ubuntu – NVM Command Not Found
- bobbyhadz – nvm: command not found error [Solved]
- Squash.io – How to Fix “nvm command not found” with Node Version Manager
- GitHub – nvm‑sh/nvm Issue 2060
- DEV Community – nvm command not found
- Medium – How do I install NVM?
Заключение
Ошибка «nvm command not found» обычно вызвана одной из следующих причин: не обновлён файл конфигурации оболочки, не перезапущена терминальная сессия или проблемы с выполнением скрипта установки. Чтобы решить проблему, сначала попробуйте полностью перезапустить терминал. Если это не помогло, вручную добавьте NVM в файл конфигурации оболочки (.bashrc, .zshrc и т.д.) с правильными экспортными командами. Для устойчивых сетевых проблем рассмотрите альтернативные методы установки, такие как официальный скрипт или клонирование репозитория через SSH. Всегда проверяйте установку, просматривая каталог NVM и тестируя команду nvm, прежде чем переходить к установке Node.js.