Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明

Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明

Mac で開発されたプロジェクトがあり、パッケージ npm i がインストールされており、すべて正常です。

このプロジェクトを Linux マシンに配置し、パッケージ npm i をインストールすると、一連の警告が報告されます。

npm 警告 オプション スキップ オプション 依存関係: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
npm 警告 notsup オプションの依存関係をスキップします: [email protected] ではサポートされていないプラットフォームです: 必要なのは {"os":"darwin","arch":"any"} (現在: {"os":"linux","arch":"x64"})
npm WARN [email protected] 説明なし
npm WARN [email protected] リポジトリ フィールドがありません。
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/abbrev):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/abbrev' を '/root/2019/0403/node_modules/fsevents/node_modules/.abbrev.DELETE' に名前変更します
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/ansi-regex):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/ansi-regex' を '/root/2019/0403/node_modules/fsevents/node_modules/.ansi-regex.DELETE' に名前変更してください
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/aproba):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/aproba' を '/root/2019/0403/node_modules/fsevents/node_modules/.aproba.DELETE' に名前変更してください
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/balanced-match):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/balanced-match' を '/root/2019/0403/node_modules/fsevents/node_modules/.balanced-match.DELETE' に名前変更します
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/chownr):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/chownr' を '/root/2019/0403/node_modules/fsevents/node_modules/.chownr.DELETE' に名前変更します
npm 警告 オプション スキップ オプション 依存関係: [email protected] (node_modules/fsevents/node_modules/code-point-at):
npm 警告 enoent オプションの依存関係をスキップします: ENOENT: そのようなファイルまたはディレクトリはありません。'/root/2019/0403/node_modules/fsevents/node_modules/code-point-at' を '/root/2019/0403/node_modules/fsevents/node_modules/.code-point-at.DELETE' に名前変更してください
...

npm ls を実行すると、UNMET OPTIONAL DEPENDENCY モジュールが多数存在し、最後に多くのエラーが報告されます。

│ ├── [email protected] 重複排除
│ ├── [email protected] 重複排除
│ ├── [email protected] 重複排除
│ └─┬ [email protected]
│ └── [email protected]
├─┬ 満たされていないオプションの依存関係 [email protected]
│ ├── [email protected]
│ └─┬ 満たされていないオプションの依存関係 [email protected]
│ ├── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていない依存関係 [email protected]
│ │ └── 満たされていない依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係[email protected]
│ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ └── 満たされていないオプションの依存関係 [email protected]
│ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ └── 満たされていないオプションの依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ └─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ └─┬ 満たされていない依存関係 [email protected]
│ │ │ └─┬ 満たされていない依存関係 [email protected]
│ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ └── 満たされていない依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ └─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ │ └── 満たされていない依存関係 [email protected]
│ │ │ └── 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていない依存関係 [email protected]
│ │ ├─┬ 満たされていないオプションの依存関係ゲージ@2.7.4
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ │ ├─┬ 満たされていない依存関係 [email protected]
│ │ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ │ ├─┬ 満たされていない依存関係 [email protected]
│ │ │ │ │ └── 満たされていない依存関係 [email protected]
│ │ │ │ └── 満たされていない依存関係 [email protected]
│ │ │ ├─┬ 満たされていない依存関係 [email protected]
│ │ │ │ └── 満たされていない依存関係 [email protected]
│ │ │ └─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ └── 満たされていない依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ └─┬ 満たされていないオプションの依存関係 [email protected]
│ │ ├── 満たされていないオプションの依存関係 [email protected]
│ │ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ │ ├── 満たされていない依存関係 [email protected]
│ │ │ └── 満たされていない依存関係 [email protected]
│ │ ├── 満たされていない依存関係 [email protected]
│ │ ├── 満たされていない依存関係 [email protected]
│ │ ├─┬ 満たされていない依存関係 [email protected]
│ │ │ └── 満たされていない依存関係 [email protected]
│ │ └── 満たされていないオプションの依存関係 [email protected]
│ ├── 満たされていないオプションの依存関係 [email protected]
│ └─┬ 満たされていないオプションの依存関係 [email protected]
│ ├── 満たされていないオプションの依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ └── 満たされていない依存関係 [email protected]
│ ├─┬ 満たされていない依存関係 [email protected]
│ │ ├── 満たされていない依存関係 [email protected]
│ │ └── 満たされていない依存関係 [email protected]
│ ├─┬ 満たされていないオプションの依存関係 [email protected]
│ │ └── 満たされていない依存関係 [email protected]
│ ├── 満たされていない依存関係 [email protected]
│ ├── 満たされていない依存関係 [email protected]
│ └── 満たされていない依存関係 [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] 重複排除
│ └── パスディレクトリ名@1.0.2
├── 継承@2.0.3
├─┬ バイナリパス@1.0.1
│ └── バイナリ拡張機能@1.13.1
├─┬ [email protected]
│ └── [email protected]
├── 正規化パス@3.0.0
├── パスは絶対@1.0.1
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected] 重複排除
│ └─┬ 読み取り可能なストリーム@2.3.6
│ ├── [email protected]
│ ├── [email protected] 重複排除
│ ├── [email protected]
│ ├── [email protected]
│ ├── セーフバッファ@5.1.2
│ ├─┬ 文字列デコーダー@1.1.1
│ │ └── [email protected] 重複排除
│ └── [email protected]
└── [email protected]
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要です
npm エラー! 見つかりません: [email protected][email protected] で必要
npm エラー! 見つかりません: [email protected][email protected] で必要
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! 不足しています: [email protected][email protected] で必須
npm エラー! 不足しています: [email protected][email protected] で必須
npm エラー! 不足しています: [email protected][email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! 不足: [email protected][email protected] で必要
npm エラー! 見つかりません: [email protected][email protected] で必要
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要
npm エラー! 見つかりません: [email protected][email protected] で必要
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! [email protected] がありません。[email protected] で必要です
npm エラー! 不足しています: [email protected][email protected] で必要

注意深く観察すると、UNMET OPTIONAL DEPENDENCY モジュールと npm ERR は同じモジュールであり、インストール中に警告を報告するモジュールでもあることがわかりました。

よく見ると、これらはすべて fsevents が依存するモジュールであることがわかります。

fsevents は macOS にのみインストールでき、Linux システムにはインストールできません。 Linux では fsevents モジュールはスキップされ、fsevents が依存するモジュールはインストールされません。

これは実際には npm のバグです。npm i は Warn を報告し、npm ls は Err を報告しますが、これは一貫性がなく、誤解を招きやすいものです。

現在、この問題は npm のどのバージョンを使用しても発生し、npm i --no-optional ではこの問題を解決できません。

Linux では fsevents は必要ないため、これらのエラーはプロジェクトの通常の操作には影響しません。

npm Err を表示したくない場合は、npm i -f を使用してインストールを強制することができます。インストール中に警告は表示されません。インストール後、npm ls を実行して以下を確認します。

└─┬ ちょきだーる@2.1.5
└── [email protected] 

きれい、エラーなし。

私のプロジェクトは chokidar です。これは fsevents に依存するモジュールであり、chokidar は browser-sync、webpack などに依存します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux でタイムアウト付きの接続関数を試す
  • Linux 上での Go 環境の構築のインストールと設定の説明
  • Linux の cut コマンドの使用法の概要
  • Linuxシステムの入出力管理とvimの共通機能の詳細な説明
  • Linux シェル - 識別によってファイル システム属性をテストする方法の例
  • Linux シェルにおける if のさまざまな判断
  • Linux シェルの pushd、popd、dirs の使用方法の説明
  • Linux シェル コンソールでさまざまな色のフォントと背景を印刷する方法
  • Linux で so または実行可能プログラムの依存ライブラリを表示します
  • Linuxのアラーム機能の例の説明

<<:  Linux での MySQL データベースのマスター スレーブ同期レプリケーション構成

>>:  Mysql データベース ストアド プロシージャの基本構文の説明

推薦する

js+ca​​nvas でコードレイン効果を実現

この記事では、js+ca​​nvasコードの雨効果の具体的なコードを参考までに共有します。具体的な内...

Webフロントエンド開発におけるエラーを見つけるための基本的な考え方

WEB開発は主に2つのインタラクション(B/Sデータ)から構成されますブラウザ: 1html、css...

MySQL グローバルロックとテーブルレベルロックの具体的な使用法

目次序文グローバルロックテーブルロックテーブルロックメタデータ ロック (MDL ロック)要約する参...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

カルーセル効果を実現するネイティブJavaScript

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

Vue パッケージ化後の空白ページの解決策

1. vue-cli がプロジェクト パッケージを作成した後にページが空白になる問題の解決方法コマン...

WebページでjQueryを参照する方法

CDN(コンテンツ配信ネットワーク)を通じて参照できます。 jQuery は Google と Mi...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

Vue el-date-picker 動的制限時間範囲ケースの詳細な説明

2つの状況がある1. 開始時間と終了時間が同じボックス内にあります(今月のみ限定) 2. 開始時間と...

Windows での MySQL 8.0.11 インストール チュートリアル

この記事は、WindowsでのMySQL 8.0.11のインストールチュートリアルを記録しています。...

CentOS7 での PostgreSQL 11 の詳細なインストールと設定のチュートリアル

1. 公式ウェブサイトアドレス公式サイトではインストールの参考手順が紹介されています。公式サイトを見...

JavaScript の手ぶれ補正とスロットリングの詳細な説明

目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...

MySQLはカバーインデックスを使用してテーブルリターンを回避し、クエリを最適化します。

序文カバーリング インデックスについて説明する前に、まずそのデータ構造である B+ ツリーを理解する...

MySQL ALTERコマンドの知識ポイントのまとめ

テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...

JavaScript フロントエンドのタイムアウト非同期操作に最適なソリューション

目次コードの実行に長い時間がかかる場合はどうなりますか? Axiosにはタイムアウト処理機能が搭載さ...