Я работаю на Mac OS X Lion, я только что использовал установщик пакетов с nodejs.org для установки node.js. Node.js работает нормально, и Node.js поставляется с npm. У меня также установлен homebrew. Я просто пытаюсь установить coffeescript, но терминал продолжает выдавать ошибку. Поэтому я решил проверить, какую версию npm я использую. Он просто продолжает выдавать ошибку. Всякий раз, когда я пытаюсь использовать любую команду npm, он выдает одну и ту же ошибку. Я попытался просто установить npm отдельно и получаю ошибку, и то же самое, когда я пытаюсь удалить npm. Может ли кто-нибудь помочь, это так невероятно раздражает.
Ошибка при вызове помощи npm
macbook-air:~ mcbeav$ sudo npm help
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: No such module
at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config-defs.js:5:21)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/ini.js:43:18)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
macbook-air:~ mcbeav$
ошибка при попытке установить npm через терминал
All clean!
npm ERR! Error: EPERM, chmod '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package/cli.js" "rm" "npm" "-gf"
npm ERR! cwd /private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package
npm ERR! node -v v0.6.17
npm ERR! npm -v 1.1.21
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, chmod '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package/npm-debug.log
npm not ok
npm ERR! error rolling back [email protected] Error: EPERM, chmod '/usr/local/bin/npm'
npm ERR! Error: EPERM, chmod '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package
npm ERR! node -v v0.6.17
npm ERR! npm -v 1.1.21
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, chmod '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /private/var/folders/g1/tn_gpxcj423d1dn_jx2g9gp40000gn/T/npm.1064/package/npm-debug.log
npm not ok
It failed
macbook-air:~ mcbeav$
Ошибка при попытке удалить npm
macbook-air:~ mcbeav$ sudo npm uninstall npm -g
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: No such module
at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config-defs.js:5:21)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/ini.js:43:18)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
macbook-air:~ mcbeav$
решение1
Оказывается, старая установка конфликтует с новой. Старая была сохранена в
usr/bin
где хранилось новое
usr/local/bin
Мне пришлось установить его с помощью команды
curl https://npmjs.org/install.sh | sudo clean=yes sh
и все работало нормально, для тех, у кого была такая же проблема, это очень расстраивает
решение2
Error: EPERM, chmod '/usr/local/bin/npm'
ошибка разрешений. Скорее всего, разрешения на /usr/local/bin/npm'
неверны (возможно, неисполняемый?), или он отсутствует.
Вы можете попробовать установить предыдущую версию node.js. Это также может помочь проверить проблему.