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

我试图用优胜美地在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)

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

Gregor Voinov asked 2019-11-18T11:04:31Z
11个解决方案
90 votes

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

npm3.10.8的依赖项,它是npm本身的依赖项,您以某种方式删除了它。 对于这种情况,通常的简单解决方案是重新安装程序包,但是如果npm无法运行,则该方法不起作用。 幸运的是,npm tarball附带有依赖项,因此从头开始安装npm就像打开tarball一样简单。

1)转到全局npm目录(如果可以运行,则3.10.8将显示什么内容):

$ 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应该可以再次工作。

eush77 answered 2019-11-18T11:05:30Z
11 votes

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

$ cd /usr/local/lib/node_modules

curl -L https://www.npmjs.com/install.sh | sh
Sam Quayle answered 2019-11-18T11:05:57Z
7 votes

我一直在疯狂地尝试在我的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版本,对我来说太老了。

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

npm install -g n
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版,并且可以正常运行,而不会出现“ are-we-there-yet”错误。

谢天谢地。 保持手臂伸直,系好安全带的孩子,因为我们快到了.....

npm install -g npm

并使用该最终命令,可以使用最新版本的npm和最新的稳定版本的node。 在撰写本文时为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

稍等片刻,所有程序都已安装。

The Lazy Coder answered 2019-11-18T11:08:57Z
5 votes

eush77说了什么,但是如果您使用的是Windows:

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

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

user2656961 answered 2019-11-18T11:09:37Z
4 votes

即使我遇到了同样的问题,解决以下步骤的最简单方法也对我有效。

1)卸载Nodejs。

2)前往C:/User/AppData/Roaming.

3)删除npm -v目录。

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

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

santhosh answered 2019-11-18T11:10:37Z
1 votes

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

Walker Rowe answered 2019-11-18T11:11:37Z
1 votes

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

ocolot answered 2019-11-18T11:12:05Z
0 votes

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

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

[https://github.com/nodesource/distributions]

edencorbin answered 2019-11-18T11:12:46Z
0 votes

我通过使用找到的官方安装程序包来重置它:[https://nodejs.org/en/]

通过提供与当前Node版本不兼容的软件包,对n和nvm进行测试最终破坏了我的node_modules软件包。

我怀疑它在其他环境中也可以使用,因为它将Node和npm安装都结合了起来。

Yann VR answered 2019-11-18T11:13:27Z
0 votes

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

如果像上面的解决方案一样,将全局移动npm i对您不起作用,请尝试:

  1. 删除项目的本地npm i
    • 在您项目的根目录中:npm i
  2. npm i
  3. npm i
Mikeumus answered 2019-11-18T11:15:26Z
0 votes

调用nvm use v{VERSION}命令时,在本地服务器上部署项目时遇到了同样的问题。

在浏览了所有博客,文章和内容之后,我仅通过这两个命令就可以使它工作。

  1. nvm use v{VERSION}检查当前指向的版本。 对我来说,当我遇到此错误时。 它指向系统。

  2. 我只是用nvm use v{VERSION}例如 nvm use v10.5.0(对我来说),它开始起作用。 在调用yarn dev时,所有错误消失了,并且项目成功部署。请在执行任何其他操作之前尝试此操作。 我强烈推荐。

SupRemo answered 2019-11-18T11:16:19Z
translate from https://stackoverflow.com:/questions/31025048/npm-doesnt-work-get-always-this-error-error-cannot-find-module-are-we-the