NVM дает ошибку при выполнении nvm ls

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

Administrators-MacBook-Pro:~ user.name$ sudo npm install nvm -g
Password:
npm http GET https://registry.npmjs.org/nvm
npm http 304 https://registry.npmjs.org/nvm
npm http GET https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/mkdirp
/usr/local/bin/nvm -> /usr/local/lib/node_modules/nvm/bin/nvm
nvm@0.0.1 /usr/local/lib/node_modules/nvm
└── mkdirp@0.3.5

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

Administrators-MacBook-Pro:~ user.name$ nvm ls

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/local/lib/node_modules/nvm/bin/nvm-ls'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/nvm/bin/nvm:15:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

6 ответов

Я недавно столкнулся с этой проблемой после того, как я установил nvm как пакет npm (из https://npmjs.org/package/nvm).

Чтобы решить эту проблему, установите nvm напрямую, используя инструкции на https://github.com/creationix/nvm

После установки и

source ~/.nvm/nvm.sh

побежал (это важно, так как это делает nvm доступным в вашем текущем терминальном сеансе), тогда вы сможете запустить

nvm ls

и другие команды nvm успешно из вашего каталога проекта.

Надеюсь, что это помогает & ура к обучению узла!

Чтобы использовать команду nvm, вы должны получить ее, как описано выше. Но вы не хотите делать это после каждого входа в систему.

Просто добавьте эти строки в файл ~ /.bashrc, ~ /.profile или ~/.zshrc, чтобы автоматически получать его при входе в систему:

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

Смотрите также https://github.com/creationix/nvm

Просто чтобы добавить, я также использую mac, но не установленная по умолчанию оболочка (zsh) при установке nvm изменит.bash_profile (и добавит строку "source ~/.nvm/nvm.sh")

так что я получаю ту же ошибку, вы должны убедиться, что вам нужно добавить "source ~ /.nvm / nvm.sh" в файл профиля оболочки (для меня это был.zshrc)

@jewel верен: по состоянию на январь 2016 года (а может и раньше) версия nvm с установленной NPM больше не существует (по крайней мере, ее репозиторий github дает 404). Если этот старый, необслуживаемый пакет установлен, вы можете увидеть такие ошибки, как "local" not implemented yet или же Error: Cannot find module './nvm-help' при наборе команд nvm.

Правильная версия nvm теперь взята с https://github.com/creationix/nvm

Если вы установили более раннюю (теперь не поддерживаемую) версию, вы можете вернуться в эфир, выполнив следующие действия:

  1. npm uninstall -g nvm
  2. Использование скрипта установки на странице GitHub выше

Вы обновили свой путь, чтобы включить./node_modules/.bin? Например:

export PATH=./node_modules/.bin:$PATH

Самый простой способ - удаление .nvm каталог, который хранится в вашем домашнем каталоге (/home/yourname) и переустановите nvm.

Источник: https://github.com/creationix/nvm

Мое решение nano ~/.zshrc add export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Это загружает nvm, затем перезапускает терминал

Другие вопросы по тегам