npm 不起作用,总是出现这个错误 -> 错误:找不到模块'are-we-there-yet'

Posted

技术标签:

【中文标题】npm 不起作用,总是出现这个错误 -> 错误:找不到模块\'are-we-there-yet\'【英文标题】:npm doesn't work, get always this error -> Error: Cannot find module 'are-we-there-yet'npm 不起作用,总是出现这个错误 -> 错误:找不到模块'are-we-there-yet' 【发布时间】:2015-09-10 13:35:53 【问题描述】:

我尝试使用 Yosemite 在 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)

有人知道问题所在或更好的解决方案吗?

【问题讨论】:

它说它找不到模块'are-we-there-yet'。这是什么? 我不知道。我没有安装任何新东西或任何东西,只是更新了节点sudo npm cache clean -f sudo npm install -g n sudo n stable,然后我尝试安装 grunt 它表示您正在尝试安装一个名为“are-we-there-yet”的模块。你有没有碰巧npm install are-we-there-yet 不,我不会尝试安装名为“are-we-there-yet”的模块。如果我尝试安装 grunt 或使用 sudo npm install -g grunt-clinpm -v 获取 npm 版本,我会收到此错误 【参考方案1】:

您通过删除一些依赖项破坏了npm

are-we-there-yetnpmlog 的依赖项,它是 npm 本身的依赖项,您以某种方式删除了它。对于这种情况,通常的简单解决方案是重新安装一个包,但如果npm 无法运行,这将不起作用。幸运的是,npm tarball 预先捆绑了依赖项,因此 installing npm from scratch 就像解压缩 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 应该又可以工作了。

【讨论】:

谢谢你的回答,我晚上试试;) 在 ubuntu 14.04 上进行全新安装时遇到了这个问题,这为我解决了这个问题。 (调整版本#) ...不过/usr/local/lib/node_modules 似乎成功了 用户破坏了自己的系统并不一定是真的。我遇到了同样的问题,提出了一个新的 Vagrant VM。见github.com/npm/npm/issues/9668 @Muzietto 更新了帖子中的npm 版本。谢谢!【参考方案2】:

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

$ cd /usr/local/lib/node_modules

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

【讨论】:

【参考方案3】:

即使我有同样的问题,解决以下步骤的最简单方法对我有用。

    卸载 Nodejs。

    转到C:/Users/&lt;user_name&gt;/AppData/Roaming.

    删除npm目录。

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

    完成现在尝试检查 (npm -v) 是否可以正常工作。

【讨论】:

【参考方案4】:

eush77 所说的,但如果你在 Windows 上:

从 https://nodejs.org/download/release/npm/

解压,替换nodejs node-modules目录下的“npm”目录 (默认为 C:\Program Files\nodejs\node_modules)

【讨论】:

【参考方案5】:

我一直在***地尝试在我的 centos 7 机器上获取最新版本的 node 和 npm。

不幸的是,我已经被这个错误困扰了将近一个星期。我终于找到了一个可行的解决方案。

如果您的 npm 当前已损坏,最简单的方法是再次安装工作版本。

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

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

在您安装了 npm 和 node 的新副本之后,顺便说一下,这不是稳定版本(而是它的最前沿的源代码)。

在撰写本文时安装的 node 版本是 5.0.0-pre,这对我来说太新了,而 npm 是 2.14.4 版本,对我来说太旧了。

为了在 node 上获取最新版本,我将使用 npm 安装“n”包。使用 n,我将安装最新版本的节点。

npm install -g n
n stable

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

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

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

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

直接更新到最新版本总是会导致“我们还在那里”,我只能推测为“不,退出询问,否则我会转过这个节点”

相反,我发现先安装到 3.3.3 版可以解决这个问题。

npm install -g npm@3.3.3

现在 3.3.3 版已安装并且可以正常工作,而不会出现“are-we-there-yet”错误。

谢天谢地。把你的手臂放在里面,系好安全带的孩子,因为我们快到了.....

npm install -g npm

通过最后的命令,我能够使用最新版本的 npm 和最新的稳定版本的 node.js。在撰写本文时是 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 -g n
n stable

npm install -g npm@3.3.3

npm install -g npm

将其放入 nodeimport.sh 后唯一要做的就是使其可执行并执行。

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

稍等片刻,全部安装完毕。

【讨论】:

请帮助我。以上解决方案对我不起作用。 您在开始这些指导时是否安装了新的 nodejs/npm 副本? 这个答案太棒了!完美的指南。整晚都在寻找这个问题的答案!来自我的大 +1! 是的,我已经尝试过 apt-get remove nodejs 和 apt-get remove node 和 apt-get remove npm。然后我开始了这些方向。 告诉你什么。在 ***.com 上提出您的问题,输入您所做的尝试以及这些尝试的输出。然后在这里放一个链接,我去看看。很难通过猜想来解决问题。【参考方案6】:

我按照上面的说明(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

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

对我来说,这与安装损坏有关,也许 ubuntu 存储库不兼容或最新。以下结果导致 npm/node 安装正常工作:

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

https://github.com/nodesource/distributions

【讨论】:

【参考方案9】:

我使用找到的官方安装包重置它:https://nodejs.org/en/

玩弄 n 和 nvm 最终通过提供与当前 Node 版本不兼容的包为我损坏了 node_modules 包。

我怀疑它适用于其他环境,因为它结合了 Node 和 npm install。

【讨论】:

【参考方案10】:

对我来说,我必须删除我项目的 node_modules 文件夹。然后我清理了缓存以防万一,并做了一个新的npm i,它能够在安装后执行node-sass,并且在are-we-there-yet 丢失时不会出错。

如果移动全局 node_modules 对您不起作用,请尝试上述解决方案:

    删除项目的本地node_modules 在项目的根目录中:rm -rf node_moduldes npm cache clean -f npm i

【讨论】:

【参考方案11】:

当我调用yarn dev 命令时,我在本地服务器上部署项目时遇到了同样的问题。

在浏览了所有博客、文章和资料后,我只需通过简单的这 2 个命令就可以使用它。

    npm list 检查它现在指向的版本。对我来说,当我收到这个错误时。它指向系统。

    我刚刚使用了nvm use vVERSION,例如nvm use v10.5.0(对我来说)它开始工作了。所有错误都消失了,项目在调用yarn dev 时成功部署。在做任何其他事情之前先试试这个。我强烈推荐。

【讨论】:

以上是关于npm 不起作用,总是出现这个错误 -> 错误:找不到模块'are-we-there-yet'的主要内容,如果未能解决你的问题,请参考以下文章

npm install 不起作用,因为某些包不包含 package.json 文件

尝试使用“npm start”运行此应用程序,但它不起作用。我如何使这个应用程序工作?

NextJS 自定义服务器在使用“npm run build”构建后出现 CORS 错误

在mac下运行 npm run eject 出现报错问题解决方法

npm 安装不起作用

任何 npm 的命令都不起作用