1. ホーム
  2. node.js

[解決済み] npm installで「満たされていない依存関係があります」と表示されるのはなぜですか?

2022-02-11 03:32:03

質問

nodeのパッケージを持っています。このパッケージで npm install パッケージルートからインストールすると、多くのものがインストールされますが、その後、次のようなエラーメッセージがいくつか表示されます。

npm WARN unmet dependency /Users/seanmackesey/google_drive/code/explore/generator/node_modules/findup-sync/node_modules/glob requires graceful-fs@'~1.2.0' but will load

私は、具体的に何をすればいいのか混乱しているようです。 npm install を実行します。依存関係が検出されたら、それをインストールすべきではないでしょうか?どのような場合にこのようなエラーメッセージが表示されるのでしょうか。また、どのようにすれば依存関係を解決できるのでしょうか。

解決方法は?

依存関係の解決が少し壊れているためだと思います。 https://github.com/npm/npm/issues/1341#issuecomment-20634338

以下は、考えられる解決策です。

  1. 手動で、満たされていない依存関係を含むトップレベルのモジュールをインストールする必要があります。 npm install [email protected]

  2. package.jsonを再構築します。上位モジュール(他のモジュールの依存関係になる)をすべて一番下に配置します。

  3. を再実行します。 npm install コマンドを実行します。

npmがタイムアウトなどで全パッケージのダウンロードに失敗したことが原因かもしれません。

注:失敗したパッケージを手動でインストールすることもできます。 npm install [email protected] .

実行前 npm install を実行することで、次のような効果が期待できます。

  • を使用して node_modules を削除します。 rm -rf node_modules/
  • 実行 npm cache clean

なぜ「node_modulesの削除」が必要な場合があるのか? ネストしたモジュールのインストールに失敗した場合 npm install の場合、その後の npm install は、ネストされた依存関係の欠落を検出しません。

そのような場合、足りないネストされたモジュールのトップレベルの依存関係を削除することで、十分な場合があります。 npm install をもう一度。参照