#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

Laravelnpm 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

関連記事

javascript 日本語 shift-js 対応 CSV ダウンロード
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
ReferenceError: location is not defined
javascript reduce 連想配列の合計計算覚えよう
vuejs i18n の html-lang と font 設定
正規表現一覧 よく使う検索・置換のパターン
開発時によく使うゼロ埋めパディング作業まとめ
javascript 面接問題のいろいろ
javascript で作る html から PDF 変換 pdfmake の日本語対応
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
nuxtjs と codeigniter で jwt システム構築
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay