如何修复“ Node Sass在您当前的环境中找不到绑定”。当运行npm运行构建时

时间:2019-04-08 12:13:45

标签: angular npm node-sass

我正在运行sudo npm run build,它说找不到sass的绑定。我目前仅安装了npm的一个版本,即11.13.0

我尝试过 npm install node-sassnpm rebuild node-sassnpm uninstall -save node-sassnpm install -save node-sassnpm cache clean,竞争性地删除了node和node_modules文件夹,但是仍然出现相同的错误。但是我确实已经安装了8.0.0版本,但是我使用nvm

将其删除了。
ERROR in ./src/main/webapp/styles/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/main/webapp/styles/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Missing binding /home/dev/IdeaProjects/web-project/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 11.x

如果您需要任何其他信息,请告诉我。

3 个答案:

答案 0 :(得分:2)

尝试执行以下命令:sudo npm install --save-dev --unsafe-perm node-sass

对我有用

答案 1 :(得分:2)

这是由于项目中使用的节点版本与全局安装的节点版本不匹配。

  1. 查看项目的package.json中指示的节点版本
  2. 将版本更改为所需的节点版本
  3. 通过在项目目录中执行npm clean-install清除项目的node_modules文件夹
  4. 发出npm install以重新安装所有软件包
  5. 使用:node -v来确定您处于活动状态的节点版本。如果输出的版本与您在项目中设置的版本匹配,则npm run build命令将起作用。如果它们不匹配,则您必须安装节点的匹配版本,或者如果您正在使用nvm,请使用:nvm use <version>以激活匹配的版本。

答案 2 :(得分:0)

解决我相同问题的唯一方法是删除所有node_modules并重新安装它们,并且在React中都可以正常工作。