Node Sass は現在の環境のバインディングを見つけられませんでした
-
Node Sass could not find binding for your current environment
とは -
Node Sass could not find a binding for your current environment
の原因 -
Node Sass could not find binding for your current environment
の解決策
このレッスンでは、Node Sass could not find a binding for your current environment
問題の解決策を学びます。 しかし、始める前に、問題の性質を特定する必要があります。
Node Sass could not find binding for your current environment
とは
nvm
のような node
バージョン マネージャーを使用すると、時々 npm
モジュール パスの一部に問題が発生し、現在使用されているバージョンとは異なるバージョンを使用しようとすることがあります。
Node Sass could not find a binding for your current environment
の原因
エラーの考えられる理由の例を次に示します。
-
これは、単一のコンピューターに 1つではなく 2つの異なるバージョンの
Node
がインストールされている可能性があるためです。グローバル バージョンとプロジェクト固有のバージョンです。 Node.js4.x
バージョンを使用しているときに Gulp ビルドが実行されている場合、Sass ファイルは適切にコンパイルされます。C:Program Files (x86)\nodejs
に移動し、VS のデフォルト インストールに加えてnode.js
のバージョンがあるかどうかを確認します。Node.js
の 2つの異なるバージョンがインストールされている場合があります。 -
この問題は、
node-sass
が現在使用されているオペレーティング システムに適切なバインディングを持っていない場合に発生します。 この問題は、Docker
を使用し、ノード モジュール
を直接Dockerfile
のコンテナ ファイルシステムに追加するか、Docker ボリューム
を使用してマウントする場合によく発生します。これらの方法は両方とも、前の文で説明されています。 コンテナのアーキテクチャは、既存のオペレーティング システムのアーキテクチャとは異なる可能性があります。
たとえば、
node-sass
はmacOS
にインストールされていますが、マシン コンテナーのオペレーティング システムはUbuntu
です。 -
node-sass
Node モジュールが使用する Node のバージョンは、それが使用するdarwin
バイナリ ファイルによって決まります。 この問題は、バイナリ ファイルがダウンロードされていないか、正しくないバイナリ ファイルがダウンロードされているために発生します。 -
コンピューターから
/.npm
および/.node-gyp
フォルダーを削除していない場合、この問題が発生する可能性があります。 これは、/.node-gyp
フォルダー内に含まれるノードのバージョンが、コンピューターの他の場所にインストールされているノードのバージョンと異なる場合があるためです。 -
他の例では、
Task Runner
Explorer がこの問題を引き起こした責任があります。これは、プロジェクトの問題を解決することを目的としているためです。 ドロップダウン リストを使用してプロジェクトに移動すると、Task Runner
エクスプローラーの横にあるrefresh
というラベルの付いたボタンに該当するタスクが表示されます。
Node Sass could not find binding for your current environment
の解決策
以下は、指定されたエラーに対して考えられる解決策です。
MacOS の場合
-
CMD+SHIFT+G
-
/usr/local/lib/node-sass
-
右クリックして名前を変更します (まだ同じ
node-sass
である必要があります)。 -
次に、コマンド
npm install node-sass -g
を実行します。
Microsoft Visual Studio 用
-
ビジュアル スタジオ 2015:
次の手順に従ってください:
ツール
>オプション
>プロジェクトとソリューション
>外部 Web ツール
-
Visual Studio 2017、2019、および 2022
-
ツール
>オプション
>プロジェクトとソリューション
>Web パッケージ管理
>外部 Web ツール
-
パス
$(DevEnvDir)\Extensions\Microsoft\Web Tools\External
を並べ替えます。 -
node modules
という名前のフォルダーを削除し、npm rebuild node-sass
を実行します。
Windows用
Node モジュールを再インストールした後、予想される
node-sass
のバイナリがダウンロードされます。 一部のユーザーについては、Node バージョンがnode-sass
バージョンと互換性があることを確認する必要があります。rmdir node_modules npm cache clean --force npm i npm rebuild node-sass --force
ドッカー用
-
.dockerignore
を追加し、その中にnode_modules
を追加します。 -
docker
環境のバインドは、ローカル コンピューターの環境のバインドではなく、npm install
中にインストールされます。
2バージョンインストール時
-
ツール
>オプション
>プロジェクト & ソリューション
>Web パッケージ管理
>外部 Web ツール
に移動します。 -
新しいエントリを追加するには、ボタン ブロックの右上隅にあるボタンを使用します。
-
C:\Program Files (x86)\nodejs
と入力し、Enter を押して検証します。 -
優先順位リストの一番上に置きます。
バインディングが見つからない場合
これを解決する方法は次のとおりです。
-
不足しているバインディング ファイルをダウンロードします。
-
ファイル
binding.node
の名前を変更します。 -
node_modules/node-sass/vendor/darwin-x64-11
(エラー メッセージからのパス) ディレクトリが存在しない場合は作成します。 -
バインディング ファイルを
node_modules/node-sass/vendor/darwin-x64-11
に追加します。
-
I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.
LinkedIn