NPM找不到模块“平衡匹配”

我试图用npm运行任何命令我得到:

module.js:340 throw err; ^ Error: Cannot find module 'balanced-match' 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 Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/ node_modules/brace-expansion/index.js:2:16) 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) at Module.require (module.js:364:17) 

包括当我尝试npm install -g balanced-match

我知道这是非常古老的,我希望你find答案,但对于未来的问题:

我最近看到这个问题,当我尝试使用npm后升级节点到一个新的版本与n 。

如果您最近转移到较新版本的节点,并且遇到上述错误,则可以通过安装最新版本的npm来修复它。 因为这可能是不可能的,因为npm是用来更新自己的,npm显然是不工作的:

  1. 降级到您的npm副本工作的节点的早期版本。
  2. 更新npm: sudo npm install npm@latest -g
  3. 升级回以前使用的节点版本。

如果这不起作用,或者你认为它会更容易,你可能不得不从二进制重新安装npm。

如果最近没有更改节点版本,则可能需要从其网站重新安装节点或至lessnpm。

我可以build议你下面的链接build议如何安装

npm平衡匹配

https://www.npmjs.com/package/balanced-match

或从下载

github.com/juliangruber/balanced-match