我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?
当我试图在MacOS上的docker中使用node-sass时,我得到了这个错误,这里的解决方案都不起作用。
发生错误是因为我在试图构建docker镜像之前进行了npm安装。npm安装正确地将node-sass的MacOS版本拉到我的node_modules中,然后我将node_modules复制到运行Linux的docker镜像中。这个失败是因为它不能在Linux上运行node-sass的MacOS版本。
在我的情况下,解决方案是在npm安装步骤后添加这个到我的makefile:
docker-compose run --rm --entrypoint "bash -c" mydockerimage "npm rebuild node-sass"
我也有同样的问题
throw new Error(errors.missingBinary());
^
Error: Missing binding /path/to/project/node_modules/node-sass/vendor/linux-x64-47/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 5.x
Found bindings for the following environments:
- Linux 64-bit with Node 0.10.x
- Linux 64-bit with Node.js 5.x
这是因为我用不同的nodejs版本安装了npm,
尝试删除node_modules文件夹安装和启动
cd your_project
rm -rf node_modules
npm install
npm start or gulp or whatever
如果你正在使用nvm do
nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever