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

Я пытался установить и переключаться между версией node, поэтому я сначала установил 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
[email protected] /usr/local/lib/node_modules/nvm
└── [email protected]

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

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)

Ответы

Ответ 1

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

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

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

source ~/.nvm/nvm.sh

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

nvm ls

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

Надеюсь, что это поможет и укрепит обучение node!

Ответ 2

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

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

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

См. также https://github.com/creationix/nvm#manual-install

Ответ 3

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

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

Ответ 4

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

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

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

  • npm uninstall -g nvm
  • Использование Install Script на странице github выше

Ответ 5

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

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

Ответ 6

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

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