# nodejs 使う時のエラーたち

# nodejs バージョンアップしたら、npm run prod 時が node-sass エラー





















 





















[webmaster@www.net]$ npm run prod

> @ prod /home/webmaster/public_html/www.net
> npm run production


> @ production /home/webmaster/public_html/www.net
> cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

/home/webmaster/public_html/www.net/node_modules/webpack-cli/bin/cli.js:93
                                throw err;
                                ^

Error: Missing binding /home/webmaster/public_html/www.net/node_modules/node-sass/vendor/linux-x64-72/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x

Found bindings for the following environments:
  - Linux 64-bit with Node.js 10.x

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.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ production: `cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ production script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/webmaster/.npm/_logs/xxxxxx_964Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ prod: `npm run production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/webmaster/.npm/_logs/2020-01-16T07_12_05_981Z-debug.log

Laravel npm run prod コマンド実行する時に下記エラー発生

Error: Missing binding /home/webmaster/public_html/www.net/node_modules/node-sass/vendor/linux-x64-72/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x

# node-sass エラーの解決方法

エラー原因
npm installを実行してから環境が変わって再度npm install実行した時に発生します。

解決方法は 21 行目あたりに書いてありますが、npm rebuild で問題解決、npm rebuild node-sassを実行して現在の環境のバインディングをダウンロードしてリビルドします。

npm rebuild node-sass

気になるところですが、エラーメッセージに答え書くなら 自動で修正しないかい?!

# npm ビルドの時にメモり不足で中断エラー

メモりリミットエラーみたいの感じで言ってます

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

# メモり不足エラーの解決方法

エラー原因
v8 で npm install したらメモりオーバーする可能性のエラー

解決方法はNODE_OPTIONS=--max_old_space_size=2048オプションをつけてメモりサイズ指定すること

laravel config 設定が下記








 


  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production  NODE_OPTIONS=--max_old_space_size=2048 node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },

# WARN fsevents@1.2.9

よく見かけるけど、いつも無視してませんか?

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):

って何のワーニングでしょうか?

答えはたくさんありますが、

これをエラーと思ってるなら勘違いです。
WARN って書いてあるとおり警告です。
警告はエラーではありません。(ここ見てると何故が警告をエラーと思う人が多い…)

ここに書いてますが、fsevents は MacOS のネイティブ API を使うためのライブラリ(つまり今使おうとしているライブラリを MacOS 上で使う時に必要になるもの)なので、Windows 環境なら無視して良いはずです。

参考:Unsupported platform for fsevents@2.0.7、(2)nodist(x64)をインストールしたい、を解決したい (opens new window)

2020-01-16
  • javascript

関連記事

Nuxt.js と Ant Design Vue 2 テーマカスタマイズ
JavaScript ライブラリ aos.js 使ってスクロール連動アニメーション
Jsconfig と Tsconfig
Cookie localStorage sessionStorage の違い
国際化 i18n と地域化 L10N
大きいファイルをスライス分割してアップロード
javascript 文字列と配列検索 indexOf findIndex find some includes 関数の違い
Javascript DataTables で excel 風 table 作る
javascript 配列 重複排除
bootstrap vuejs 使って generate する際に babel が icons ファイル max 500KB エラー
キーコード取得 & キーコード一覧
開発時によく使うゼロ埋めパディング作業まとめ
javascript  指定場所にスムーズにスクロールする方法
react 強制的にレンダリングする方法
Javascript var let const 変数宣言の違い
Javascript 電話番号フォーマット
vuejs back to top button component 作成
Nuxtjs 動的なルーティング静的ページ自動生成
Sweet Alert swal に複数 content
moment.js 使って日本語曜日対応
javascript 開発で出会った TypeError
ReferenceError: location is not defined
vuejs で omisejapan の決済フォーム作成した時のメモ
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
javascript reduce 連想配列の合計計算覚えよう
nuxtjs と codeigniter で jwt システム構築
javascript で作る html から PDF 変換 pdfmake の日本語対応
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
正規表現一覧 よく使う検索・置換のパターン
javascript password generator ランダム文字列パスワード作成
javascript 日本語 shift-js 対応 CSV ダウンロード
開発におけるコーディングルール・規約