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 データベース ストアド プロシージャの基本構文の説明

推薦する

Reactプロジェクトの新規作成からデプロイまでの実装例

新しいプロジェクトを始めるこの記事では主に、新規プロジェクトを0から1まで取り組むプロセスを記録し、...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...

fastdfs+nginxクラスタ構築の実装

1. fastdfs の紹介1. fastdfsとは何かFastdfs は軽量のオープンソース分散フ...

Div はフラッシュを覆います。フラッシュ透過方式により、フラッシュ上に DIV レイヤーを配置できます。

2つのタイプがあります: (異なるブラウザ) 1. IEブラウザで利用可能コードをコピーコードは次の...

Tomcat を使用して IntelliJ IDEA によってデプロイされたプロジェクトの場所はどこですか?

IntelliJ IDEA が Tomcat を使用して Javaweb プロジェクトをデプロイし...

モバイル端末での Vue2.x Picker のグローバル呼び出し実装

目次ピッカーコンポーネントとはピッカーコンポーネントの問題解決オプションの説明解決ディレクトリ部門P...

ドラッグアンドドロップでVueユーザーインターフェースを生成する方法

目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

Javascript における非同期待機の詳細な理解

この記事では、async/await がすべての JavaScript 開発者にとって非同期プログラ...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

CentOS 7 での mysql 5.7 のインストール チュートリアル

1. 公式MySQL Yumリポジトリをダウンロードしてインストールする 実行ファイル: mysql...

HTML テーブルに複雑なテーブル ヘッダーを実装するためのサンプル コード

複雑な表を作成するには HTML を使用します。複雑なテーブルでは通常、td の rowspan 属...

HTML チュートリアル、HTML デフォルト スタイル

html 、アドレス、引用、本文、 dd 、 div 、 dl 、 dt 、フィールドセット、フォ...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows)

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカ...

Vue プロジェクト コード分割ソリューション

目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...