我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?
对于使用Visual Studio的用户:
目前正在为VS 2015, 2017, 2019, 2022工作(通过下面和/或这篇文章的回复)
任务运行器资源管理器无法加载任务
VS 2015
转到:工具>选项>项目和解决方案>外部Web工具
VS 2017(.3), VS 2019和VS 2022
>选项>项目和解决方案> Web包管理>外部Web工具(每个@nothrow)
在VS 2017, 2019, 2022,你还需要把$(PATH)放在$(VSINSTALLERDIR)\Web\External上面
重新排序,使$(PATH)在$(DevEnvDir)\Extensions\Microsoft\Web Tools\External之上
删除node_modules并运行npm install和npm rebuild node-sass没有任何作用。
NPM重建node-sass——force
或者,如果你在容器中使用node-sass:
Docker exec <container-id> NPM rebuild node-sass——force
当node-sass没有当前操作系统的正确绑定时,会发生此错误。
如果你使用Docker,当你将node_modules直接添加到Dockerfile中的容器文件系统(或使用Docker卷挂载它们)时,通常会发生这种错误。
容器体系结构可能与当前的操作系统不同。例如,我在macOS上安装node-sass,但我的容器运行Ubuntu。
如果强制node-sass从容器内部重新构建,node-sass将下载容器操作系统的正确绑定。
查看我的复制案例了解更多。