npm doesn't work, get always this error -> Error: Cannot find module 'are-we-there-yet'
我试着在约塞米蒂的Mac上安装Grunt。节点已安装在最新版本中。如果我在终端中键入"node-v",我会得到v0.12.5。那很好。但当我想安装新产品经理的东西,我只得到一个错误…
我尝试了"sudo-npm install-g grunt cli","sudo-npm install npm-g",并且使用"npm-v"我总是会得到这个错误…
1 2 3 4 5 6 7 8 9 10 11 | 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. (/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) |
有人知道是什么问题,还是更好的解决方案?
您已经通过删除
1)转到global
1 | $ cd /usr/local/lib/node_modules |
2)删除断开的
1 | $ mv npm /tmp |
3)从注册表下载并解包新的
1 | $ curl -L registry.npmjs.com/npm/-/npm-{VERSION}.tgz | tar xz --transform="s:^package:npm:" |
您可以使用此安装脚本自动执行其中的一些操作:
1 | $ curl -L https://www.npmjs.com/install.sh | sh |
此时,
转到global node_modules目录(如果不知道,请访问npm root-g)
1 2 3 | $ cd /usr/local/lib/node_modules curl -L https://www.npmjs.com/install.sh | sh |
我一直在狂热地尝试在我的Centos7机器上找到最新版本的node和npm。
不幸的是,我已经被这个错误困扰了近一个星期了。我终于找到了一个可行的解决方案。
如果您的NPM当前已损坏,最简单的方法是重新安装一个工作版本。
我是根据代码安装的。假设安装了git,那么以下命令将实现这一目标
1 2 3 4 5 6 | cd ~ git clone https://github.com/nodejs/node.git nodejs_code cd nodejs_code ./configure make make install |
在您安装了新的NPM和节点副本之后,顺便说一句,它不是稳定版本(而是从源代码右边的出血边缘)。
编写时安装的节点版本是5.0.0-pre,对我来说太新了,而NPM是2.14.4版,对我来说太旧了。
为了在节点上获得最新版本,我将使用NPM安装"n"包。使用n,我将安装最新版本的节点。
1 2 | npm install -g n n stable |
对于根用户(我用于安装全局包),我需要将以下行添加到我的
1 | export PATH=/usr/local/bin:$PATH |
此时,我的node版本是4.0.0,这是node的最新稳定版本。
现在更新NPM,这是有史以来最烦人的事情。
直接更新到最新版本总是会导致"我们还在吗",我只能猜测为"不,退出询问,否则我会扭转这个节点"
相反,我发现首先通过3.3.3版安装可以解决这个问题。
1 | npm install -g [email protected] |
现在安装了3.3.3版,并且可以在不出现"我们还在吗"错误的情况下工作。
谢天谢地。把你的胳膊放在里面,把安全带系好,孩子们,因为我们快到了……
1 | npm install -g npm |
有了这个最后的命令,我可以使用最新版本的NPM,以及最新稳定版本的node。写这篇文章的时候是3.3.5
从这里开始,我的命令如下。
1 2 | n stable npm install -g npm |
每次我从这里开始运行这些程序,我都会得到不受干扰的NPM旅行,而孩子们也不会在后面抱怨。
注释由于我正在管理许多服务器,默认情况下这些服务器都不随节点一起提供,因此我发现自己必须一遍又一遍地执行此任务。
因此,我把这些指令变成了一个脚本。
享受:
进口商品
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/bin/bash cd ~ git clone https://github.com/nodejs/node.git nodejs_code cd nodejs_code git reset --hard git pull origin master ./configure make make install if [[ `cat ~/.bashrc |grep -E"PATH.*/usr/local/bin:.*"` ]]; then echo"Already Done"; else echo"export PATH=/usr/local/bin:\$PATH">> ~/.bashrc; export PATH=/usr/local/bin:$PATH; fi; npm install -g n n stable npm install -g [email protected] npm install -g npm |
在将其放入nodeimport.sh之后,唯一要做的就是使其可执行并执行。
1 2 | $ chmod +x importnode.sh $ ./importnode.sh |
等一下,所有的都安装好了。
什么eush77说,但如果你在窗户上:
从下载最新包网址:https://nodejs.org/download/release/npm/
解包并替换nodejs node modules目录中的"npm"目录(默认情况下C:Program Filesodejsode_modules)
即使我也有同样的问题,最简单的方法来解决下面的步骤对我来说也很有效。
1)卸载nodejs。
2)去EDOCX1[4]
3)删除
4)重新安装
5)现在试着检查(
您也可以从
我按照上面的说明(eush77说的)删除node_modules文件夹中的npm文件夹。但仍然存在导致此错误消息的断开链接。
/usr/local/bin/npm:没有这样的文件或目录
所以移除断开的链接:
然后把它指向正确的地方,像这样:
当我调用
在浏览了所有的博客、文章和东西之后,我只需要简单地使用这两个命令就可以让它工作。
我刚用过
对于我来说,我必须删除我的项目的
如果移动Global
- 在您的项目的根目录中:
rm -rf node_moduldes
我使用官方安装程序包重置了它,找到了:https://nodejs.org/en/
通过提供与当前节点版本不兼容的包,使用n和nvm最终损坏了我的节点模块包。
我怀疑它可以在其他环境中工作,因为它将节点和NPM安装结合在一起。
对我来说,这与安装被破坏以及Ubuntu存储库不兼容或是最近的版本有关。以下结果导致NPM/节点安装工作正常:
sudo curl-sl https://deb.nodesource.com/setup_.x_sudo-e bash-sudo-apt-get安装-y nodejs
https://github.com/nodesource/distributions