在webpack构建时缺少绑定/myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node

时间:2017-11-17 16:10:49

标签: node.js npm nvm vue-loader

我在构建项目时遇到以下错误。实际上错误说“缺少绑定/myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node”,但我有“缺少绑定/ myproject / node_modules / node-sass / vendor / linux-x64-48 /binding.node”。我不知道为什么不引用“linux-x64-48”?

错误说运行npm rebuild node-sass --force,我这样做但没有运气。请帮我解决这个问题。

节点版本:v8.9.1

npm:5.5.1

注意:我甚至尝试删除整个node_modules并重新安装(npm install)它。但仍然得到同样的错误。

ERROR in ./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-6ef6ca5e","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0&bustCache!./src/components/UserProfile.vue
Module build failed: Error: Missing binding /myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x

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

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass --force` to build the binding for your current environment.
    at module.exports (/myproject/node_modules/node-sass/lib/binding.js:15:13)
    at Object.<anonymous> (/myproject/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/myproject/node_modules/sass-loader/lib/loader.js:3:14)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
 @ ./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-6ef6ca5e","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0&bustCache!./src/components/MyProfile.vue 4:14-346 13:3-17:5 14:22-354
 @ ./src/components/UserProfile.vue
 @ ./src/router.js
 @ ./src/main.js
 @ multi ./build/dev-client ./src/main.js

ERROR in ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./src/assets/scss/main.scss
Module build failed: Error: Missing binding /myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x

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

3 个答案:

答案 0 :(得分:1)

此问题已由npm rebuild node-sassgithub issue

解决

答案 1 :(得分:0)

通常在环境快速变化(将sass文件复制到一个位置复制到另一个位置)时发生 这将帮助您解决此问题。

npm install

npm rebuild node-sass --force

答案 2 :(得分:0)

这可能是由于您的机器上的节点版本与您的应用程序预期不匹配。 就我而言,在构建 docker 镜像时,基础机器和 docker 镜像上的版本不同。