Другое

Как исправить ошибку 'nvm command not found' при установке

Узнайте, как устранить ошибку 'nvm command not found' при установке Node Version Manager. Руководство с решениями для конфигурации оболочки и сетевых проблем.

Установка Node Version Manager (NVM): ошибка «nvm: command not found» после установки

Я пытаюсь установить Node Version Manager (NVM) на своей системе. Я выполнил шаги установки, запустив следующую команду в терминале:

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

После завершения установки я перезапустил терминал и попытался установить Node.js командой:

bash
$ nvm install 0.8

Однако я получил следующее сообщение об ошибке:

bash
-bash: nvm: command not found

Я не понимаю, что я делаю не так в процессе установки.

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

Я изучил другие решения и нашёл альтернативный способ установки:

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

Но эта команда каждый раз завершается тайм‑аутом.

Что может вызывать ошибку «nvm: command not found» и как правильно установить NVM на мою систему?

Ошибка «nvm command not found» обычно возникает, потому что NVM не был корректно подключён в файл конфигурации оболочки или терминальная сессия не была перезапущена после установки. Это распространённая проблема, которую можно решить, вручную добавив NVM в конфигурацию оболочки или убедившись, что скрипт установки выполнен правильно.

Содержание


Распространённые причины ошибки «nvm command not found»

Ошибка, с которой вы столкнулись, может возникнуть по нескольким причинам:

  1. Не обновлён файл конфигурации оболочки: NVM изменяет файлы конфигурации оболочки (например, .bashrc, .zshrc, .profile), чтобы автоматически загружать NVM при запуске новой сессии терминала. Иногда этот процесс завершается неудачно или не полностью.

  2. Не перезапущена терминальная сессия: Даже если конфигурация обновлена, необходимо закрыть и открыть терминал, чтобы изменения вступили в силу. То же самое относится, если вы установили NVM в одном терминале и пытаетесь использовать его в другом.

  3. Проблемы с выполнением скрипта установки: Скрипт установки через curl или wget может не завершиться успешно, оставив систему в неконсистентном состоянии.

  4. Проблемы с переменной окружения PATH: Каталог NVM может не быть корректно добавлен в переменную PATH, из‑за чего система не может найти команду nvm.

  5. Сетевые или прокси‑проблемы: Как отмечено в обсуждениях на Stack Overflow, работа за прокси может привести к неудачной установке и неполной настройке.


Пошаговые решения

Решение 1: Ручная настройка оболочки

Если автоматическая настройка не сработала, вам нужно вручную добавить NVM в файл конфигурации оболочки:

  1. Сначала проверьте, где установлен NVM:

    bash
    ls -la ~/.nvm
    
  2. Отредактируйте файл конфигурации оболочки. Если вы используете Bash:

    bash
    nano ~/.bashrc
    

    Или если вы используете Zsh:

    bash
    nano ~/.zshrc
    
  3. Добавьте эти строки в конец файла:

    bash
    export 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
    
  4. Сохраните файл и полностью перезапустите терминал.

Как отмечают участники DEV Community, «Закройте и перезапустите терминал, это должно исправить ошибку!»

Решение 2: Ручной импорт конфигурации

Если перезапуск не помогает, вы можете импортировать конфигурацию в текущую сессию:

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

Это сделает nvm доступным в текущем терминале без перезапуска.

Решение 3: Проверка места установки

Если NVM всё ещё не работает, проверьте, правильно ли он установлен:

bash
which nvm

Команда должна вернуть путь, например /home/yourusername/.nvm/nvm.sh. Если ничего не выводится, установка могла завершиться с ошибкой.

Как пишет Prashant Agarwal в Medium, «Проверьте, установлен ли nvm, выполнив which nvm в терминале. Если nvm установлен, эта команда должна вывести путь к исполняемому файлу nvm.»


Альтернативные методы установки

Метод 1: Официальный скрипт установки

Самый надёжный способ — использовать официальный скрипт установки из репозитория NVM на GitHub:

bash
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 завершается тайм‑аутом из‑за сетевых проблем, попробуйте альтернативы:

  1. Использовать SSH вместо HTTP:

    bash
    git clone git@github.com:nvm-sh/nvm.git ~/.nvm
    
  2. Глубокий клонинг:

    bash
    git clone --depth 1 https://github.com/nvm-sh/nvm.git ~/.nvm
    
  3. Другой URL Git:

    bash
    git clone https://github.com/nvm-sh/nvm.git ~/.nvm
    

Устранение сетевых проблем

Если вы сталкиваетесь с тайм‑аутами сети или проблемами прокси:

  1. Проверьте подключение к сети:

    bash
    ping github.com
    
  2. Настройте параметры прокси, если необходимо:

    bash
    export http_proxy="http://your-proxy:port"
    export https_proxy="https://your-proxy:port"
    
  3. Попробуйте альтернативные URL:

    bash
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    
  4. Используйте wget вместо curl:

    bash
    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    

Как отмечено в обсуждении Stack Overflow, «В большинстве случаев вы за прокси и не настроены правильно.»


Настройка после установки

После успешной установки NVM есть дополнительные шаги, чтобы убедиться, что он работает корректно:

Установка версии Node по умолчанию

NVM не устанавливает автоматически версию Node по умолчанию. Вам нужно либо:

  1. Установить версию по умолчанию:

    bash
    nvm alias default <версия>
    
  2. Использовать конкретную версию в текущей сессии:

    bash
    nvm use <версия>
    
  3. Добавить в конфигурацию оболочки для автоматического выбора версии:

    bash
    echo 'nvm use --default 18' >> ~/.bashrc
    

Как отмечают участники Ask Ubuntu, «nvm не устанавливает никакую версию node автоматически, поэтому если вы только что установили nvm и установили версию node, а затем пытаетесь использовать node при следующем входе, вы получите ошибку «command not found: node», если не выполните nvm use <версия> в каждой сессии терминала.»

Установка Node.js

После того как NVM работает, установите Node.js:

bash
nvm install 18
nvm use 18

Проверка успешной установки

Чтобы убедиться, что NVM установлен правильно:

bash
nvm --version

Команда должна вывести номер версии NVM.

Затем проверьте наличие Node.js:

bash
node --version
npm --version

Обе команды должны вывести номера версий без ошибок.

Если проблемы сохраняются, проверьте каталог NVM:

bash
ls -la ~/.nvm

В каталоге должны быть файлы и папки NVM.


Источники

  1. Better Stack Community – Node Version Manager Install – Nvm Command Not Found
  2. Stack Overflow – Node Version Manager install – nvm command not found
  3. Ask Ubuntu – NVM Command Not Found
  4. bobbyhadz – nvm: command not found error [Solved]
  5. Squash.io – How to Fix “nvm command not found” with Node Version Manager
  6. GitHub – nvm‑sh/nvm Issue 2060
  7. DEV Community – nvm command not found
  8. Medium – How do I install NVM?

Заключение

Ошибка «nvm command not found» обычно вызвана одной из следующих причин: не обновлён файл конфигурации оболочки, не перезапущена терминальная сессия или проблемы с выполнением скрипта установки. Чтобы решить проблему, сначала попробуйте полностью перезапустить терминал. Если это не помогло, вручную добавьте NVM в файл конфигурации оболочки (.bashrc, .zshrc и т.д.) с правильными экспортными командами. Для устойчивых сетевых проблем рассмотрите альтернативные методы установки, такие как официальный скрипт или клонирование репозитория через SSH. Всегда проверяйте установку, просматривая каталог NVM и тестируя команду nvm, прежде чем переходить к установке Node.js.

Авторы
Проверено модерацией
Модерация