【问题标题】:How to reinstall npm when it's removed (but ~./npm still exists)?删除后如何重新安装 npm(但 ~./npm 仍然存在)?
【发布时间】:2016-04-06 02:48:24
【问题描述】:

我在运行 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/ 也是如此。这里发生了什么?我该如何解决这个问题?

【问题讨论】:

    标签: node.js npm npm-install


    【解决方案1】:

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

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

    请参阅this 会有所帮助

    【讨论】:

    • 这行得通。尝试更新 npm 导致了这种情况令人沮丧。谢谢!
    猜你喜欢
    • 2018-08-08
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    相关资源
    最近更新 更多