我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?
node-sass runs an install script to download the required binary. If there are no environment variables, .npmrc variables or process arguments set then the binary is determined by using the current process platform, architecture and Node ABI version. Therefore, if you run node install in one application and then try to run node-sass in an application with a different platform/architecture/ABI, the binary won't have been downloaded. The solution is to manually download the binary or to fix the binary version using an environment variable (SASS_BINARY_NAME) or a .npmrc variable (sass_binary_name)
你可以在node-sass\lib\extensions.js中的getBinaryPath函数中看到这个逻辑
就我的具体情况而言,上述答案都不起作用。那么它的工作原理是:
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
我在Windows环境中遇到了同样的问题,收到以下错误:
C:\Development{ProjectName}\node_modules\node-sass\vendor\win32-ia32-47\binding.node
Node Sass无法找到当前环境的绑定:Windows 32位,带有Node.js 5.x
为以下环境找到绑定:
—Windows 64位,Node.js 6.x
这里其他答案中列出的npm命令(npm install, npm rebuild node-sass等)都不起作用。
相反,我必须下载缺失的绑定,并将其放在适当的目标文件夹中。
可以在git上找到绑定。将该文件与错误消息中/node_modules/node-sass/vendor/后面标识的文件夹名匹配(在您的示例中是'darwin-x64-11',因此您需要darwin-x64-11_binding. xml文件)。节点文件)。
在项目中创建缺少的文件夹(/node_modules/node-sass/vendor/darwin-x64-11),将.node文件复制到新目录,并将其重命名为binding.node。
Node-sass发布URL:
https://github.com/sass/node-sass/releases
除了Abdelsalam Megahed的简短回答,其中包含了大部分解决方案……(也就是说,先看他的答案,然后做这件事)
在遵循Abdelsalam建议的四个简短步骤之后,我运行npm run dev并收到以下消息:
Failed to load C:\path\tsconfig.json: Missing baseUrl in compilerOptions
最后一步是编辑tsconfig。在"compilerOptions":下添加"baseURL": ".",像这样:
"compilerOptions": {
"baseUrl": ".",
etc etc etc
问题到这里就解决了。
注意:可能需要硬重置CtrlF5页面来查看更改(即使没有恶魔)。