web-dev-qa-db-ja.com

npmが機能しない、常にこのエラーを取得する->エラー:モジュール「are-we-there-yet」が見つかりません

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)

誰かが問題を知っているか、より良い解決策ですか?

54
Gregor Voinov

依存関係の一部を削除することにより、npmが壊れています。

are-we-there-yetnpmlogの依存関係であり、これはnpm自体の依存関係であり、何らかの方法で削除しました。そのような場合の通常の簡単な解決策はパッケージを再インストールすることですが、npmが動作しない場合は機能しません。幸いなことに、npm tarballには依存関係があらかじめバンドルされているため、 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は再び機能するはずです。

90
eush77

グローバルnode_modulesディレクトリに移動します(不明な場合はnpm root -g)

$ cd /usr/local/lib/node_modules

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

私は、centos 7マシンでノードとnpmの最新バージョンを取得しようと熱心に試みてきました。

残念ながら、私はこのエラーに今一週間近く悩まされています。そして、私はついに機能する解決策を見つけました。

Npmが現在壊れている場合、作業バージョンを再度インストールするのが最も簡単です。

コードからインストールしました。 gitがインストールされていると仮定すると、次のコマンドはその目標を達成します

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

Npmとノードの新しいコピーをインストールした後、これは安定版ではありません(代わりに、ソースから直接Edgeを出血させます)。

これを書いている時点でインストールされたノードのバージョンは5.0.0-preであり、私にとってはあまりにも新しいものであり、npmはバージョン2.14.4であり、私にとっては古いものです。

ノードの最新バージョンを取得するには、npmを使用して「n」パッケージをインストールします。 nを使用して、ノードの最新バージョンをインストールします。

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 [email protected]

バージョン3.3.3がインストールされ、「are-we-there-yet」エラーなしで動作するようになりました。

よかった。私たちはほとんどそこにいるので、腕を内側に保ち、シートベルトで子供を固定します。

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 -g n
n stable

npm install -g [email protected]

npm install -g npm

これをnodeimport.shに入れた後に行うべきことは、実行可能にして実行することだけです。

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

しばらく待つと、すべてがインストールされます。

7
The Lazy Coder

Eush77が言ったことですが、Windowsを使用している場合:

https://nodejs.org/download/release/npm/ から最新のパッケージをダウンロードします

解凍し、nodejs node-modulesディレクトリの「npm」ディレクトリを置き換えます(デフォルトではC:\ Program Files\nodejs\node_modules)

5
user2656961

私も同じ問題を抱えていましたが、以下の手順を解決する最も簡単な方法が私にとってはうまくいきました。

1)Nodejsをアンインストールします。

2)C:/User/AppData/Roaming.に移動します

3)npmディレクトリを削除します。

4)Nodejs(最新v6.11.、includes npm 3.10.1)を再インストールします。

5)完了次に、(npm -v)が正常に機能することを確認してください。

4
santhosh

上記の手順(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

1
Walker Rowe

https://nodejs.org/en/download/current/からnodeを再インストールすることもできます

1
ocolot

私にとってこれは、インストールが破損していて、おそらく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

0
edencorbin

見つかった公式インストーラーパッケージを使用してリセットしました: https://nodejs.org/en/

Nとnvmをいじってみると、現在のNodeバージョンと互換性のないパッケージを提供することで、最終的にnode_modulesパッケージが破損しました。

Nodeとnpm installの両方を結合するため、他の環境でも機能すると思います。

0
Yann VR

私にとっては、プロジェクトのnode_modulesフォルダーを削除する必要がありました。その後、念のためキャッシュをクリーンアップし、新しいnpm iを実行しましたが、are-we-there-yetが見つからないというエラーではなく、ノードサスのポストインストールを実行できました。

上記のソリューションでグローバルnode_modulesを移動してもうまくいかない場合は試してください:

  1. プロジェクトのローカルnode_modules を削除します
    • プロジェクトのルート:rm -rf node_moduldes
  2. npm cache clean -f
  3. npm i
0
Mikeumus

yarn devコマンドを呼び出していたときに、ローカルサーバーにプロジェクトを展開しているときに同じ問題が発生しました。

すべてのブログ、記事、および資料を調べた後、この2つのコマンドを実行するだけで機能するようになりました。

  1. npm listが現在指しているバージョンを確認してください。私にとって、このエラーが発生したとき。システムを指していました。

  2. nvm use v{VERSION}を使用しました。 nvm use v10.5.0(私にとって)そしてそれは機能しました。すべてのエラーがなくなり、yarn devの呼び出し中にプロジェクトが正常にデプロイされました。他のことをする前にこれを試してください。強くお勧めします。

0
SupRemo