我有问题构建一个应用程序,因为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_modules”文件夹。 重新安装依赖项。(npm)

其他回答

卸载和安装sass包对于手动过程很有效,但对于自动部署/CI/CD,你需要更通用的方法。对我来说,适用于不同环境的Continuos部署是:

在部署前使用rimraf删除旧的node_modules rimraf node_modules 更新npm包中的sass包。Json &提交到源代码控制。

对于下一次部署,它将自动刷新所有环境的sass。

这对我很有效 删除node_modules,然后从IDE恢复包,然后npm重建node-sass

我必须首先选择新的默认节点版本nvm use ***或nvm install ***,然后再次删除项目和npm I中的node_modules中的所有内容。

我,只是为了添加我在Windows上,我通过删除我用户的node_module文件夹中的node-sass条目来解决我的问题(C:/users/$username/node_modules/node_sass)

重建和删除node_sass之前什么都没有做,现在我的问题解决了!

我是一个Windows 8用户,最近将Node更新到v8.11.1,将npm更新到v6.0.0,并面临类似的问题。没有任何工作- npm install -g node-sass@latest或从项目node_modules/中删除node-sass目录-这些都不适合我。

Laravel Mix向我的浏览器控制台抛出一个错误,说缺少一个节点:win32-x64-57。我不知道是不是因为网络连接变慢了还是什么原因,更新的时候节点不见了。

因此,一些答案引导我去研究Node-Sass发行版,我找到了解决方案。

步骤1:使用命令检查你的node-sass版本:npm view node-sass version(步骤4中的{你的版本}) 步骤2:获取Node-Sass版本 步骤3:获得您的版本,并在每个版本下列出的资产中找到缺失的节点,并下载文件 第四步:打开PC的C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{你的版本}\,将下载的.node文件放在版本文件夹中

这样就做完了。

在我的例子中,node-sass版本是4.9.0,缺少的节点是win32-x64-57_binding。所以我从4.9.0版本下载了.node文件,并执行了步骤4。