我的npm已经过时,我无法更新它。 我怎样才能解决这个问题?

我有一段时间在我的系统上有节点和NPM,但我一段时间没有使用它们,他们似乎被打破。

今天我想回到它,并试图安装yeoman,我收到一条消息,“你的npm版本已经过时”。 并build议运行npm install -g npm

所以我做了这个,得到了更多的错误:

 npm ERR! Darwin 15.3.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "npm" npm ERR! node v4.4.0 npm ERR! npm v2.14.20 npm ERR! path /usr/local/lib/node_modules/npm/.mailmap npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall unlink npm ERR! Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/npm/.mailmap' npm ERR! at Error (native) npm ERR! { [Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/npm/.mailmap'] npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'unlink', npm ERR! path: '/usr/local/lib/node_modules/npm/.mailmap' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! error rolling back Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/npm/.npmignore' npm ERR! error rolling back at Error (native) npm ERR! error rolling back { [Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/npm/.npmignore'] npm ERR! error rolling back errno: -13, npm ERR! error rolling back code: 'EACCES', npm ERR! error rolling back syscall: 'unlink', npm ERR! error rolling back path: '/usr/local/lib/node_modules/npm/.npmignore' } npm ERR! Please include the following file with any support request: npm ERR! /Users/Dan/npm-debug.log 

然后我也试了这个

 // ♥ unlink '/usr/local/lib/node_modules/npm/.mailmap' unlink: /usr/local/lib/node_modules/npm/.mailmap: Permission denied 

老实说,我不记得我是否用Homebrew安装了节点,或者还有其他什么东西。 我想在某个时候我安装了一个节点版本pipe理器,但我可能是错的。 另外,按照使用sudo的说明,我总是很紧张。 我永远不会记得哪些使用sudo的说明,我不应该遵循。

有任何想法吗?

使用sudo

 sudo npm install -g npm 

可以了,好了。 我只是按照约翰帕帕的这些指示 ,现在正在工作。