web-dev-qa-db-ja.com

node-sass関連のエラーでnpmのインストールが失敗するのはなぜですか?

Railsアプリケーションを使用しています。npm installコマンドを実行しようとしていますが、以下のerrorsが表示され続けます。出力で示されているようにnpm rebuild node-sassを実行していますが、効果がありませんでしたbuntu 16およびOS Xでこの問題が発生しています。

> cd client && npm install

npm WARN deprecated [email protected]: JSCS is deprecated. Switch to ESLint.
npm WARN deprecated [email protected]: Package no longer supported. Please use @welldone-software/why-did-you-render instead.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: No longer maintained. We recomment migrating to ESLint with eslint-config-wikimedia.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: Package no longer supported. Contact [email protected] for more info.

> [email protected] postinstall /Users/antarr/code/railsapp/client
> npm run build


> [email protected] build /Users/antarr/code/railsapp/client
> NODE_ENV=production webpack -p && NODE_ENV=production gulp build

Hash: b24f8ebb1737ed4fc3f1
Version: webpack 1.15.0
Time: 39385ms
               Asset     Size  Chunks             Chunk Names
    client.bundle.js   949 kB       0  [emitted]  client
     tools.bundle.js   903 kB       1  [emitted]  tools
client.bundle.js.map  6.62 MB       0  [emitted]  client
 tools.bundle.js.map  6.29 MB       1  [emitted]  tools
    + 913 hidden modules
/Users/antarr/code/railsapp/client/node_modules/node-sass/lib/binding.js:15
      throw new Error(errors.missingBinary());
      ^

Error: Missing binding /Users/antarr/code/railsapp/client/node_modules/node-sass/vendor/darwin-x64-48/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 6.x

Found bindings for the following environments:
  - OS X 64-bit with Unsupported runtime (83)

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to build the binding for your current environment.
    at module.exports (/Users/antarr/code/railsapp/client/node_modules/node-sass/lib/binding.js:15:13)
    at Object.<anonymous> (/Users/antarr/code/railsapp/client/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/antarr/code/railsapp/client/node_modules/gulp-sass/index.js:187:21)

npm ERR! Darwin 19.4.0
npm ERR! argv "/Users/antarr/.nvm/versions/node/v6.6.0/bin/node" "/Users/antarr/.nvm/versions/node/v6.6.0/bin/npm" "run" "build"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `NODE_ENV=production webpack -p && NODE_ENV=production gulp build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build script 'NODE_ENV=production webpack -p && NODE_ENV=production gulp build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the railsapp package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     NODE_ENV=production webpack -p && NODE_ENV=production gulp build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs railsapp
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls railsapp
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/antarr/code/railsapp/client/npm-debug.log

npm ERR! Darwin 19.4.0
npm ERR! argv "/Users/antarr/.nvm/versions/node/v6.6.0/bin/node" "/Users/antarr/.nvm/versions/node/v6.6.0/bin/npm" "install"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `npm run build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'npm run build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the railsapp package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs railsapp
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls railsapp
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/antarr/code/railsapp/client/npm-debug.log

npm ERR! Darwin 19.4.0
npm ERR! argv "/Users/antarr/.nvm/versions/node/v6.6.0/bin/node" "/Users/antarr/.nvm/versions/node/v6.6.0/bin/npm" "install"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `cd client && npm install`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'cd client && npm install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the railsapp package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cd client && npm install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs railsapp
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls railsapp
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/antarr/code/railsapp/npm-debug.log

package.json:

{
  "name": "railsapp",
  "version": "1.0.0",
  "description": "...",
  "private": true,
  "engines": {
    "node": "6.6.0",
    "npm": "3.10.7"
  },
  "main": "server.js",
  "repository": {
    "type": "git",
    "url": ""
  },
  "scripts": {
    "postinstall": "cd client && npm install",
    "build": "cd client && npm run build",
    "build:dev": "cd client && npm run build:dev",
    "watch": "cd client && npm run watch",
    "gulp": "cd client && gulp default --color",
    "gulp:hot": "cd client && gulp hot --color",
    "gulp:express": "cd client && gulp express --color",
    "gulp:live": "cd client && gulp live --color",
    "start": "cd client && npm start",
    "lint": "cd client && npm run lint",
    "test": "bundle exec rake test && (cd client && npm run lint)",
    "express": "echo 'visit http://localhost:4000' && (cd client && npm start)",
    "Rails": "(cd client && npm run build:dev) && Rails s"
  },
  "author": "Mike R <[email protected]>",
  "bugs": {
    "url": ""
  },
  "homepage": "https://www.railsapp.com",
  "dependencies": {
    "postcss": "^7.0.30",
    "postcss-cssnext": "^3.1.0"
  }
}

node-sass追加後のエラー:

    + 838 hidden modules
gulp[7747]: ../src/node_contextify.cc:658:static void node::contextify::ContextifyScript::New(const v8::FunctionCallbackInfo<v8::Value>&): Assertion `args[1]->IsString()' failed.
 1: 0xa0e670 node::Abort() [gulp]
 2: 0xa0e6ee  [gulp]
 3: 0xa006df node::contextify::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&) [gulp]
 4: 0xbf1fc1  [gulp]
 5: 0xbf2b52 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [gulp]
 6: 0x13da5f9  [gulp]
Aborted (core dumped)
1
Antarr Byrd

次のバージョンを使用できます。

Node:12、[〜#〜] npm [〜#〜]:6およびnode-sass:4.12+


このエラーを修正するには、nodeおよびnode-sassバージョンをこの version compatibity list に従って修正する必要があります。 node-sass 4.5.3 +を使用している場合、このリストから最低Node 8が必要です。

nodejsnpmを最新のLTSにアップグレードすることをお勧めしますNode12.16.3(npm6.14.4を含む)、その後node-sass バージョン 4.12+ここ は、node&npmをアップグレードする方法です。

変更するにはnode-sassバージョン、これをpackage.jsonに書き込みます:"node-sass": "^4.12.0",

1
Ajeet Shah