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


当前回答

我是一个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。

其他回答

检查你的系统:你的系统是否有两个不同的Node.js安装?

如果通过nodejs安装node,默认安装目录为 C:\Program Files\nodejs 我的节点版本是6。Xx安装在这里。

检查VS External web tools目录 C:\Program Files (x86)\Microsoft Visual Studio\2017\企业\Web\External 我的节点版本是5。Xx安装在那里。

一种解决方法是:

备份C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External目录。 复制C:\Program Files\nodejs目录内容和 粘贴到 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\外部目录。 从解决方案中删除node_modules目录。 重新运行项目。 如果您得到错误消息,请重新运行项目第二次。

如果这样不行的话

从解决方案中删除node_modules目录。

注意:$是命令提示符

$  npm install 
…
$ npm run build:dev

重新运行项目。

在linux ubuntu 20.04上,我需要几个步骤,首先将节点降级到合适的版本,删除node_modules,运行yarn install,最后运行sudo yarn add node-sass@4.13.0——force。节点版本号10.0.0。 这是我唯一的工作方式。

我在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

删除“node_modules”文件夹。 重新安装依赖项。(npm)

我在Node v7.4.0 Current(最新功能)中遇到了同样的问题。

在这里阅读了一些内容,并将Node降级为v6.9.4 LTS,在运行npm rebuild Node -sass后,它下载了二进制文件,一切都开始工作了。

从https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node下载二进制文件 下载完成。 二进制文件保存到D:\xxx\xxx-xxx\node_modules\node-sass\vendor\win32-x64-48\binding.node 将二进制文件缓存到C:\Users\user\AppData\Roaming\npm-cache\node-sass\3.13.1\win32-x64-48_binding.node