一尘不染

npm不起作用,总是得到此错误->错误:找不到模块“我们还在那里”

node.js

我试图用优胜美地在Mac上安装grunt。节点已经安装了最新版本。如果我在终端中输入“ node
-v”,我会得到v0.12.5行。非常好。但是当我想用npm安装东西时,我只会得到一个错误…

我尝试了“ sudo npm install -g grunt-cli”,“ sudo npm install npm -g”以及“ npm
-v”,我总是收到此错误…

Error: Cannot find module 'are-we-there-yet'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/Cellar/node/0.10.22/lib/node_modules/npm/node_modules/npmlog/log.js:2:16)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

有人知道这是什么问题还是更好的解决方案?


阅读 697

收藏
2020-07-07

共1个答案

一尘不染

您已经npm删除了一些依赖项,从而破坏了它。

are-we-there- yetnpmlognpm自身的依赖项,因此您以某种方式删除了它。对于这种情况,通常的简单解决方案是重新安装软件包,但是如果npm无法运行,则该方法将无效。幸运的是,npmtarball附带有依赖项,因此从头开始安装npm就像打开tarball一样简单。

1)转到全局node_modules目录(npm root -g如果可以运行它将显示什么):

$ cd /usr/local/lib/node_modules

2)删除损坏的npm目录或将其移动到其他位置(请注意,您可能需要为此和以下步骤提升权限):

$ mv npm /tmp

3)npm从注册表中下载并解压缩(例如,您要安装的替代版本3.10.8):

$ curl -L registry.npmjs.com/npm/-/npm-{VERSION}.tgz | tar xz --transform="s:^package:npm:"

您可以使用以下安装脚本自动执行其中的一些操作:

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

此时npm应重新工作。

2020-07-07