我有问题构建一个应用程序,因为node-sass不断失败的错误。

binding /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node出错 Node Sass无法找到当前环境的绑定:OS X 64位的Node 0.10.x

我试过跑步

npm rebuild node-sass

二进制很好;退出。

当运行node -v时,我得到v6.2.2

这与sass错误说的“Node 0.10.x”不同。我不明白为什么它会得到错误的版本。我也尝试删除node_modules文件夹并运行npm update或npm install,这两者都没有解决问题。什么好主意吗?


当前回答

我在Linux Mint中做了所有这些:

删除node_modules 运行npm install 运行npm rebuild node-sass

但是它并没有修复这个问题,仍然得到关于node-sass的错误。

我尝试再次运行命令重建node-sass与sudo即sudo npm重建node-sass,它终于工作了!

其他回答

对于那些从系统节点切换到nvm的用户,如果您还没有删除~/。NPM和~/。node-gyp文件夹可能会出现此问题,因为可能节点版本在~/。Node-gyp可能不同。

在任何情况下,这些文件夹都应该删除。

没有一个安装/重建解决方案为我解决了这个问题(使用gulp)。

我是这样解决的:

1)从存储库下载丢失的绑定文件。

2)将文件重命名为binding.node。

3)如果不存在node_modules/node-sass/vendor/darwin-x64-11(错误信息中的路径)目录。

4)将绑定文件添加到“node_modules/node-sass/vendor/darwin-x64-11”目录下

我能解决的问题 NPM install -global -production windows-build-tools

NPM install——msvs_version=2015

" devDependencies ": { :“babel-core ^ 6.26.0”, :“babel-loader ^ 7.1.4”, :“babel-plugin-transform-decorators-legacy ^ 1.3.5”, :“babel-preset-env ^ 1.6.1”, :“babel-preset-react ^ 6.24.1”, :“babel-preset-stage-2 ^ 6.24.1”, :“css-loader ^ 0.28.11”, :“mini-css-extract-plugin ^ 0.4.0”, :“node-sass ^ 4.11.0”, :“sass-loader ^ 6.0.7”, 4.4.1“webpack”:“^”, :“webpack-cli 3.1.0”, :“webpack-dev-server ^ 3.1.1” }

就我的具体情况而言,上述答案都不起作用。那么它的工作原理是:

rm -rf node_modules 
rm -rf /tmp/* 
rm -rf /root/.npm/node-sass 
npm uninstall --save node-sass 
npm cache clean --force 

NPM缓存验证检查缓存中是否没有剩余内容

npm install

虽然我没有试图重现序列,但这是上述工作的组合。 此外,你还可以尝试:

NPM install node-sass或NPM install node-sass -g

npm rebuild node-sass
npm install bindings

在构建docker映像并试图在本地运行时,我遇到了同样的问题。你需要添加一个.dockerignore文件,内容如下: .DS_Store . .gitignore .idea 日志/ * 目标 tmp node_modules 客户端/ node_modules 规范/内部/公共资产 公共/资产