laravelのnpm run devでエラー|Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 11.x

パン田@現役エンジニア
npm run watchしたらエラーが発生するようになった。。。
その解決方法を説明するよー!

laradock環境で、webpack(laravel mix)のタスクランナーを走らせようとしたらエラーが発生。
エラーメッセージを読むとこんなことが書いてあります。

Error: Missing binding /var/www/myapp/node_modules/node-sass/vendor/linux-x64-67/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 11.x

今回はこの解決策について説明しますね!

※これはlaravelだけでなくgulpを走らせたりしても起きる可能性があるエラーですよね。

基本、このエラーはエラーメッセージと一緒に表示されるnpm rebuildを実行すると直ります。
それでは問題となったエラーから解決策まで細かく見ていきましょう!

npm run dev|rpm run watchでNode Sass could not find a binding for your current environmentなエラーの解決策

エラーメッセージをもう少し下まで読んでいくとこんなことも書いてあります。

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.

ざっくり日本語訳すると

「enviromentが以前と変わってしまったから起きてるエラーだよ。`npm rebuild node-sass`を実行して今の環境に適合するものをダウンロードしよう。」

だそうです。とりあえずこういうときは素直に実行するに限ります。

ちなみに、npm rebuild node-sassの実行コマンドは、人によって内容が微妙に変わると思います。

でもRun ~~を実行して、というメッセージの大枠は同じはず。それを素直に実行してみましょう!

するとなんかダウンロードしたっぽい画面になり

Binary found at /var/www/myapp/node_modules/node-sass/vendor/linux-x64-67/binding.node
Testing binary
Binary is fine
node-sass@4.12.0 /var/www/myapp/node_modules/node-sass

というメッセージが!

続いて npm run watchしたらsuccessでした

短いですが、今回はおしまいです。

ツイッターフォローを!

あと、エンジニアの年収を上げる方法やフリーの営業法をツイートしてるんでフォローしてくださいっ!!


フォローは↓からですよ!