【问题标题】:npm is broken and i can not run any npm commandnpm 坏了,我无法运行任何 npm 命令
【发布时间】:2019-04-15 22:16:47
【问题描述】:

我的 npm 坏了,我无法运行任何 npm 命令。

$ type npm
npm is hashed (/usr/local/bin/npm)

$ type node
node is hashed (/usr/local/bin/node)

$ type nodejs
nodejs is hashed (/usr/bin/nodejs)

$ uname -a 
Linux mj-lp-mint 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

版本:

$ node -v
v11.0.0

$ nodejs -v
v10.13.0

执行 npm 命令后出现此错误:

$ sudo npm install npm -g

/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js:57
log.progressEnabled = log.gauge.isEnabled()
                                ^

TypeError: log.gauge.isEnabled is not a function
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js:57:33)
    at Module._compile (internal/modules/cjs/loader.js:707:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
    at Module.load (internal/modules/cjs/loader.js:605:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
    at Function.Module._load (internal/modules/cjs/loader.js:536:3)
    at Module.require (internal/modules/cjs/loader.js:643:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:22:13
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:153:3)

为什么 nodenodejs 有不同的版本,而 npm -v 给出了相同的错误。

【问题讨论】:

    标签: node.js npm yarnpkg


    【解决方案1】:

    你面对的是this issue。简短的解决方案似乎是:

    删除node_modules/npm,然后再次运行yarn install

    问题评论线程中还有其他解决方案。

    【讨论】:

      【解决方案2】:

      我删除了 /usr/local/lib/node_modules/ 目录,一切正常:

      sudo rm -rfv /usr/local/lib/node_modules/

      希望它能帮助其他人;-)

      【讨论】:

      • 警告:这将删除你的全局包和“npm linked”符号链接
      【解决方案3】:

      对于 windows,从以下路径删除 node_modules - C:\Program Files\nodejs\node_modules

      【讨论】:

      • 欢迎来到堆栈溢出。这个答案增加了什么,一年前的其他答案需要什么?
      【解决方案4】:

      对于Windows,从官网下载安装程序,运行它,在安装过程结束时,选择“自动安装必要的工具。注意这也会安装Chocolately。脚本会弹出安装完成后在新窗口中显示。”

      我有同样的问题,这解决了它。

      【讨论】:

        【解决方案5】:

        在windows中我遇到了同样的错误

        log.progressEnabled = log.gauge.isEnabled()

        npm 版本是 6.13.4,我安装了 @angular/cli 用于带有 angular 的 asp.net 核心的 MVC 开发。

        我从 log.js 更改了 57 行 C:\Users\\AppData\Roaming\nvm\v6.9.5\node_modules\npm\node_modules\npmlog\log.js

        来自

        log.progressEnabled = log.gauge.isEnabled() 到

        log.progressEnabled = log.gauge.isEnabled

        npm 开始工作了。

        【讨论】:

        • 刚刚解决了这个问题。使用 MEMO 更改了D:\Program Files\nodejs\node_modules\npm\node_modules\npmlog 的文件,搜索“isEnabled” *ding* 将搜索方向更改为向下,从log.gauge.isEnabled() 中删除()。保存,再次运行npm -v,成功了。
        【解决方案6】:

        对我来说,在 Windows 10 上有效的是: I deleted node_modules directory under the installation folder 但是单独这样做是行不通的,I also used the installer to repair the installation 之后一切又好了,希望对其他人有所帮助..

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-01-11
          • 2017-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-21
          • 1970-01-01
          相关资源
          最近更新 更多