删除后如何重新安装 npm(但 ~./npm 仍然存在)?

How to reinstall npm when it's removed (but ~./npm still exists)?

我 运行 遇到了一些问题,我 运行 npm update -g 突然无法使用 npm(在此处提交问题:https://github.com/npm/npm/issues/12135)。

我尝试时得到以下结果:

$ npm
-bash: npm: command not found

我正在尝试恢复 运行 但我无法通过命令行安装它。我尝试使用在线列出的 cURL 命令并得到以下结果:

$ curl https://npmjs.org/install.sh | sudo sh

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   193  100   193    0     0    422      0 --:--:-- --:--:-- --:--:--   422
sh: line 1: html: No such file or directory
sh: line 2: syntax error near unexpected token `<'
'h: line 2: `<head><title>301 Moved Permanently</title></head>

当我将 sudo 移到行首时,我得到以下内容:

sudo curl -L https://www.npmjs.com/install.sh | sh

[some successes here]

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/private/var/folders/7z/khvfflqx5k59v2lhlxkpnq4w0000gp/T/npm.44471/package/cli.js" "install" "-gf"
npm ERR! node v4.2.1
npm ERR! npm  v3.8.5
npm ERR! path /usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename

npm ERR! Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules' -> '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/.builtin-modules.DELETE'
npm ERR!     at moveAway (/private/var/folders/7z/khvfflqx5k59v2lhlxkpnq4w0000gp/T/npm.44471/package/lib/install/action/finalize.js:38:5)
npm ERR!     at destStatted (/private/var/folders/7z/khvfflqx5k59v2lhlxkpnq4w0000gp/T/npm.44471/package/lib/install/action/finalize.js:27:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:82:15)
npm ERR!
npm ERR! Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules' -> '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/.builtin-modules.DELETE'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules' -> '/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/.builtin-modules.DELETE'] parent: 'is-builtin-module' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /private/var/folders/7z/khvfflqx5k59v2lhlxkpnq4w0000gp/T/npm.44471/package/npm-debug.log
npm ERR! code 1
It failed

我检查了一下,~/.npm 文件夹仍然存在并且有它的内容,/usr/local/lib/node_modules/ 也是如此。这里发生了什么?我该如何解决这个问题?

是你没有完全卸载npm造成的

尝试使用 rm -rf 删除旧文件夹,然后安装 npm。

查看 this 会有帮助