Node.jsでsudo付けずにnpm update -gしたらnpmコマンドが消えた
表題の通りなのですが、
$ npm update -g
...
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/npm/doc/api'
npm ERR! error rolling back npm@1.3.17 { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm/doc/api']
npm ERR! error rolling back errno: 3,
npm ERR! error rolling back code: 'EACCES',
npm ERR! error rolling back path: '/usr/local/lib/node_modules/npm/doc/api' }
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/npm/html/doc'
npm ERR! { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm/html/doc']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/npm/html/doc' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "update" "-g"
npm ERR! cwd /Users/hentai-kun/node/sandbox
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! path /usr/local/lib/node_modules/npm/html/doc
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/npm/html/doc'
npm http 200 https://registry.npmjs.org/wordwrap
...
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/hentai-kun/node/sandbox/npm-debug.log
npm ERR! not ok code 0
エラーになったわけです。
npm ERR! Please try running this command again as root/Administrator.
とあるので、sudo
付け忘れたわーと思い、再実行したところ…
$ sudo npm update -g
zsh: command not found: npm
$ which node npm
/usr/local/bin/node
npm not found
な ぜ か npm
が 消 え て い た 。
シンボリックリンク復旧させれば治るんじゃね?
$ cd /usr/local/bin
$ ln -s ../lib/node_modules/npm/bin/npm-cli.js npm
とやって、再実行するも、
$ sudo npm update -g
module.js:340
throw err;
^
Error: Cannot find module 'npmlog'
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 /usr/local/lib/node_modules/npm/bin/npm-cli.js:18:11
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:86:3)
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)
違うエラーが出ただけだった。
結局、npmを入れ直した
$ curl https://npmjs.org/install.sh | sudo sh
無事、実行できるようになりました
$ sudo npm update -g