NPM不工作,总是得到这个错误 – >错误:找不到模块'我们在那里'

我试图用优胜美地在mac上安装grunt。 节点已经安装在最新版本中。 如果我在terminalinput“节点-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) 

有人知道有什么问题或更好的解决scheme?

你已经通过删除它的一些依赖关系来破坏npm

are-we-there-yet npmlognpmlog依赖于npm本身,并以某种方式删除它。 对于这种情况通常简单的解决scheme是重新安装一个包,但是如果npm不能运行,这是行不通的。 幸运的是, npm tarball预装了依赖关系,因此从头开始安装npm与解压缩tarball一样简单。

1)转到全局的node_modules目录(如果可以运行, npm root -g打印什么):

 $ cd /usr/local/lib/node_modules 

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

 $ mv npm /tmp 

3)从registry中下载并解压新鲜的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应该再次工作。

转到全局的node_modules目录(如果你不知道,请参考npm root -g)

 $ cd /usr/local/lib/node_modules curl -L https://www.npmjs.com/install.sh | sh 

我一直在狂热地尝试在我的centos 7机器上获得节点和npm的最新版本。

不幸的是,我已经为这个错误困扰了近一个星期了。 我终于find了一个可行的解决scheme。

如果你的npm目前是坏的,那么再安装一个工作版本是最简单的。

我从代码安装。 假设安装了git,以下命令将完成该目标

 cd ~ git clone https://github.com/nodejs/node.git nodejs_code cd nodejs_code ./configure make make install 

在安装完npm和node之后,顺便说一下不是稳定的版本(而不是来自源代码的stream血边缘)。

在写这个节点的时候安装的版本是5.0.0-pre,这对我来说太新了,npm是2.14.4,这对我来说太旧了。

为了得到节点上的最新版本,我将使用npm安装'n'包。 使用n,我将安装最新版本的节点。

 npm install -gn n stable 

在root用户的情况下(我用来安装全局包),我需要在我的~/.bashrc文件中添加下面一行,这将允许root用户访问/ usr / local / bin命令。 (你可能不需要这一步)

 export PATH=/usr/local/bin:$PATH 

此时我的节点版本是4.0.0,这是节点的最新稳定版本。

现在更新npm,这是有史以来最烦人的事情。

直接更新到最新版本总是导致“我们现在还没有”,我只能推测为“不,并退出询问或我将转向这个节点”

相反,我发现首先通过版本3.3.3安装将解决这个问题。

 npm install -g npm@3.3.3 

现在版本3.3.3被安装并且没有“我们在那里”错误。

谢天谢地。 保持你的arm内侧,你系好安全带的孩子,因为我们差不多在那里…..

 npm install -g npm 

并且用最后的命令,我能够使用最新版本的npm,以及最新的稳定版本的节点。 在写这个的时候是3.3.5

从这里开始,我的命令如下。

 n stable npm install -g npm 

每次我从这里跑出去的时候,我都会得到不受干扰的npm旅行,而不让孩子们在后面抱怨。

注意

由于我正在调节大量的服务器,其中没有一个默认使用节点,所以我发现自己必须反复执行这个任务。

所以我把这些指示变成了剧本。

请享用:

importnode.sh

 #!/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 -gn n stable npm install -g npm@3.3.3 npm install -g npm 

把这个放入nodeimport.sh之后,唯一要做的就是让它可执行并执行它。

 $ chmod +x importnode.sh $ ./importnode.sh 

等一下,所有的安装。

eush77说,但如果你在Windows上:

https://nodejs.org/download/release/npm/下载最新的软件包;

解包并replacenodejs node-modules目录中的“npm”目录(默认为C:\ Program Files \ nodejs \ node_modules)

我遵循上面的指示(什么eush77说)删除node_modules文件夹中的npm文件夹。 但是仍然存在导致这个错误信息的断开的链接。

/ usr / local / bin / npm:没有这样的文件或目录

所以删除断开的链接:

rm /usr/local/bin/npm

然后让它指向这样的正确的地方:

sudo ln -s /usr/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

您也可以从https://nodejs.org/en/download/current/重新安装node

对我来说,这必须与安装被破坏,也许Ubuntu的存储库不兼容或最近。 以下是导致npm / node安装正常工作的原因:

sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash – sudo apt-get install -y nodejs

https://github.com/nodesource/distributions

我通过使用官方安装程序包find它重置: https : //nodejs.org/en/

使用n和nvm玩弄最终会破坏node_modules包,通过提供与当前Node版本不兼容的包。

我怀疑它会适用于其他环境,因为它将Node和npm安装在一起。

即使我有同样的问题,最简单的方法来解决以下步骤为我工作。

1)卸载Nodejs。

2)转到C:/User/AppData/Roaming.

3)删除npm目录。

4)重新安装Nodejs (最新的v6.11.3 ,包括npm 3.10.10 )。

5)完成现在尝试检查( npm -v )将工作正常。