Mac のサポートされていないアーキテクチャ

(メロンは栄養価の高い肥料で育てると最も甘くなり、天才は悪い土壌で育てると最高になる。 - ベーコン)

ここに画像の説明を挿入

サポートされていないアーキテクチャ

このような問題は Mac の m シリーズチップで発生しやすく、m シリーズは arm64 のチップアーキテクチャであり、一部の nodejs バージョンや npm パッケージのチップアーキテクチャは x86 であるため、このような問題が頻繁に発生しますが、 m シリーズ チップ
サポートにより、npm エコロジカル ツールキットは arm64 アーキテクチャとの互換性が徐々に高まっていますが、一部の古いバージョンには互換性がなく、この問題は依然として発生します。唯一の解決策は、nodejs と互換性のあるパッケージを使用することです。 arm64 アーキテクチャまたは新しい nodejs バージョンを使用する

問題のシナリオ

WindowsコンピュータからMacに切り替えた後、nodejsサービスを開始するときにこのような問題が発生しましたが、nodejsはすでにMacのmシリーズチップをサポートしているバージョン14を使用しているため、npmパッケージの問題のトラブルシューティングを開始しました

  • まず、依存関係なしで js ファイルを実行し、正常に起動できることを確認すると、npm パッケージに問題があることがわかります。
  • 従来の http サービスでは、最初に各制御層 (コントローラー) を確認し、一度に 1 つのコントローラーのみを有効にして範囲を狭めます。
  • 問題のある制御層を特定したら、ビジネス層 (サービス) のチェックを開始し、一度に 1 つのサービスのみを有効にして範囲を絞り込みます。
  • 問題のあるビジネス レイヤーを特定したら、ビジネス レイヤーのパッケージの依存関係のチェックを開始し、一度に 1 つのパッケージのみを有効にして範囲を絞り込みます。
  • 最後に、問題のある npm パッケージを見つけて、npm または github でパッケージの解決策 (アップグレード バージョンなど) を見つけます。パッケージの問題が解決できない場合は、arm64 アーキテクチャをサポートする他のパッケージを使用して解決します。
ffprobe-static

たとえば、このパッケージのバージョン 3.0.0 は arm64 チップをサポートしておらず、3.1.0 にアップグレードすると解決されます。

おすすめ

転載: blog.csdn.net/qq_42427109/article/details/132134244