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

推薦する

モバイルレイアウト用の動的REMの実装

ダイナミックレム1. まず、現在の長さの単位を紹介しましょうpx em Mの幅 / 漢字の幅 1em...

MySQL 5.7.17 無料インストールバージョンの設定方法グラフィックチュートリアル (Windows10)

1. 概要ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージ...

Ubuntu 16.04 64ビット版を3つのステップで32ビットプログラムと互換性を持たせる

ステップ1: システムのアーキテクチャを確認する dpkg --print-architecture...

Linux での NTP サーバー設定の詳細な手順

目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...

Alipay の新しいホームページのフロントエンドの実践的な概要

もちろん、ページ パフォーマンスの最適化に関する個人的な経験も含まれています。ここでいくつかの点につ...

ウェブデザインスキル:中国語と英語が混在するウェブページの上位表示の問題

<br />私はこの問題で気が狂いそうです。症状は次のとおりです。 症状の説明: Int...

Nginx の純粋な構成でリアルタイム ログ レポートを実現するためのアイデアと方法

目次序文実装のアイデア実装手順1. Nginxをコンパイルする2. 設定ファイルは以下のとおりです要...

Linux telnetコマンドの使用

1. はじめにtelnet コマンドは、リモート ホストにログインするために使用されます。これは、T...

Linux プロセス管理ツール スーパーバイザーのインストールと設定のチュートリアル

環境: CentOS 7公式ドキュメント: http://supervisord.org/インストー...

mysql5.7.18 解凍バージョンで mysql サービスを起動します

mysql5.7.18の解凍版はmysqlサービスを起動します。具体的な内容は以下のとおりです。 1...

CSS が最初のサイクルで画像を読み込むために @keyframes を使用するときに発生するホワイトギャップの問題 (フラッシュ画面) をすばやく解決します。

問題の説明: CSS アニメーション プロパティを使用すると、ループが最初に読み込まれたときに白いギ...

MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

IFNULL(式1,式2) expr1 が NULL でない場合、IFNULL() は expr1 ...

mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

MySQL 8 Windows版 zipインストール手順(ダウンロードアドレス) 1. ZIPファイ...

webpack -v エラー解決

背景webpackのバージョンを確認したいのですが、webpack -vを実行するとエラーが報告され...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...