我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?


当前回答

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将下载容器操作系统的正确绑定。

查看我的复制案例了解更多。

其他回答

这是可能不会发生在其他人身上的事情,但在我的情况下,当我决定重新启动我的项目(遵循不同的vue.js教程)时出现了这个错误。

造成我问题的步骤是:

# move my existing project
mv project-name project-name-old
# create a new project
vue create project-name
# run server
npm run server

问题是我之前的服务器仍然在不同的终端选项卡上运行。在localhost:8080上,仍然显示的页面是旧的项目。

我所要做的就是关闭终端中的旧服务器,并再次执行“npm run serve”(或查看localhost:8081)。

以防这让别人困惑了半个小时,或者是为了搞笑。

如果你在mac上安装Xcode。

请在根文件夹上写下以下命令。

NPM重建node-sass

100%的作品……

Windows 10 This was a fun one for me... In order to resolve it I had to do all of the following.. 1.) Apparently node-sass isn't supported by some of the more recent versions of Node.js so I had to Uninstall Node-v 12.14.1, and delete the nodejs directory in C:/Program Files. 2.) Reinstall a earlier version of Node (for me 10.16.2 worked). NOTE: I had initially downloaded the x86 version so if your System is x64 download the x64 verison... 3.) From here I had to delete my entire project and re-clone it. After this things ran fine.

如果你的终端/命令提示符显示:

Node Sass could not find a binding 
for your current environment: 
OS X 64-bit with Node 0.10.x

并且您已经尝试了以下命令,例如:

npm cache clean --force 
rm -rf node_modules 
npm install 
npm rebuild node-sass

仍然没有工作…

只需在终端中手动运行:node node_modules/node-sass/scripts/install.js

现在运行NPM start或yarn start