我在构建应用程序时遇到问题,因为node-sass因错误而失败.
缺少绑定中的错误/Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
节点Sass找不到当前环境的绑定:OS X 64位,节点0.10.x
我试过跑步
npm rebuild node-sass
Run Code Online (Sandbox Code Playgroud)
这说
二进制很好; 退出.
在运行时,node -v我得到v6.2.2
这与sass错误"Node 0.10.x"的内容不同.我无法弄清楚为什么它会得到错误的版本.我还尝试删除node_modules文件夹并运行npm update或npm install,这两个文件都没有解决问题.有任何想法吗?
Bip*_*was 675
我有同样的问题
您的gulpfile中存在错误:
错误:缺少绑定E:\ allapp\badshaindiancuisine \node_module \node-sass\vendor\win32-x64-46\binding.node
节点Sass找不到当前环境的绑定:Windows 64 -bit与Node.js 4.x.找到以下环境的绑定:
- 带有Node.js 4.x的OS X 64位
如何解决我的问题
进入项目文件夹然后执行:
npm rebuild node-sass
Run Code Online (Sandbox Code Playgroud)
Rob*_*ott 262
注意我正在使用VS 2015,64位Windows 7.
也适用于VS 2017(来自对此帖的回复)
对于VS 2015
VS 2017(.3)
在VS 2017中,您还需要将$(PATH)放在$(VSINSTALLERDIR)\ Web\External之上
删除node_modules并运行npm install然后npm rebuild node-sass 什么也没做.
Beo*_*ett 131
我在Windows环境中遇到同样的问题,收到以下错误:
错误:缺少绑定C:\ Development {ProjectName} \node_modules \node-sass\vendor\win32-ia32-47\binding.node
节点Sass找不到当前环境的绑定:Windows 32位与Node.js 5 .x
找到以下环境的绑定:
- 带有Node.js 6.x的Windows 64位
在没有npm在这里的其他答案(列出的命令npm install,npm rebuild node-sass等)的工作.
相反,我必须下载缺少的绑定并将其放在适当的目标文件夹中.
绑定可以在git上找到.将文件与/node_modules/node-sass/vendor/错误消息中标识的文件夹名称匹配(在您的情况下为'darwin-x64-11',因此您需要该darwin-x64-11_binding.node文件).
在项目中创建缺少的文件夹(/node_modules/node-sass/vendor/darwin-x64-11),将.node文件复制到新目录,然后将其重命名为binding.node.
Node-sass发布URL:https: //github.com/sass/node-sass/releases
Cod*_*iee 126
为我工作:
只需删除node-sass文件夹并运行npm install.
Leg*_*nds 102
只需执行以下命令:
npm rebuild node-sass --force
在我的情况下,它也找不到node-sass.
以下程序解决了问题(Windows):
npm rebuild node-sass --force
-- cannot find python.exe, if you have Python installed, add it to your path:
set PYTHON=C:\Python27\Python.exe
-- else: download python "Windows x86-64-MSI" installer from https://www.python.org/downloads/release/python-2714/
-- install python
-- at installation start check: add env variable to path
-- after successfull installation:
npm rebuild node-sass --force
-- finished successfully
Run Code Online (Sandbox Code Playgroud)
She*_*way 26
npm rebuild node-sass --force
或者,如果您在容器中使用node-sass:
docker exec <container-id> npm rebuild node-sass --force
当node-sass没有正确的当前操作系统绑定时,会发生此错误.
根据我的经验,通常会在您node_modules直接添加到Dockerfile中的容器文件系统时(或者使用Docker卷安装它们).这是因为您的容器架构通常与您当前的操作系统不同.例如,我在macOS上安装了node-sass,但我的容器运行的是Ubuntu.
如果强制node-sass从容器内重建,node-sass将为容器操作系统下载正确的绑定.
请参阅我的repro案例以了解更多信息.
Roc*_*que 23
我遇到了类似的问题,原因是我的机器上安装了两个版本的Node:一个是"global",另一个是项目级别.只有在Gulp构建在Node.js 4.x版本下运行时,Sass才会正确构建,因此请确保升级您正在使用的Node版本.
PS:如果您完全删除项目中的node_modules文件夹并从头开始重新构建,npm将为您当前的系统和节点版本下载正确的依赖项.
Bal*_*ngh 17
node-sassnode 模块使用darwin依赖于 node 版本的二进制文件。当未下载二进制文件或下载了错误的二进制文件时,会出现此问题。
重新安装节点模块将下载 node-sass 的预期二进制文件:-
对于 Mac 用户:
rm -rf node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force
Run Code Online (Sandbox Code Playgroud)
对于 Windows 用户:
rmdir node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force
Run Code Online (Sandbox Code Playgroud)
但是对于某些用户,您需要检查您的节点版本与 node-sass 版本的兼容性。使用下表使其兼容并再次运行以上命令以解决此问题。
如果问题仍未解决,请检查 node-sass 支持的环境列表:- https://github.com/sass/node-sass/releases/
cor*_*114 16
在某些情况下,您需要卸载并安装node-sass库.尝试:
npm uninstall --save node-sass
Run Code Online (Sandbox Code Playgroud)
和
npm install --save node-sass
Run Code Online (Sandbox Code Playgroud)
看看这对我的工作, Stack链接在这里
我有同样的问题
throw new Error(errors.missingBinary());
^
Error: Missing binding /path/to/project/node_modules/node-sass/vendor/linux-x64-47/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 5.x
Found bindings for the following environments:
- Linux 64-bit with Node 0.10.x
- Linux 64-bit with Node.js 5.x
Run Code Online (Sandbox Code Playgroud)
那是因为我使用不同的nodejs版本进行了npm安装,尝试删除node_modules文件夹安装和启动
cd your_proyect
rm -rf node_modules
npm install
npm start or gulp or whatever
Run Code Online (Sandbox Code Playgroud)
如果你正在使用nvm做
nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever
Run Code Online (Sandbox Code Playgroud)
对于我的特殊情况,以上答案均无效。所以它的工作原理是:
rm -rf node_modules
rm -rf /tmp/*
rm -rf /root/.npm/node-sass
npm uninstall --save node-sass
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
npm cache verify 检查缓存中是否没有任何内容
npm install
Run Code Online (Sandbox Code Playgroud)
虽然我还没有尝试重现该序列,但这是上述方法的结合。另外,您也可以尝试:
npm install --save node-sass 要么 npm install node-sass -g
npm rebuild node-sass
npm install bindings
Run Code Online (Sandbox Code Playgroud)
我遇到了与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 `
* Docker相关的答案在这里*
回答是否遇到此问题或类似问题,并且正在使用Docker。
原因:将当前文件结构复制到Docker容器内部时,您可能正在将节点模块从一个OS系统复制到另一个OS系统(例如,从Mac到Linux容器)。
解:
添加.dockerignore,然后在内部添加:
node_modules
这将导致npm install为docker环境而非本地计算机环境安装绑定。
如果您的终端/命令提示符显示:
节点 Sass 找不到绑定 对于您当前的环境: 带有 Node 0.10.x 的 OS X 64 位
并且您尝试了以下命令,例如:
npm 缓存清理 --force rm -rf 节点模块 安装 npm 重建 node-sass npm 重建 node-sass
&仍然没有任何效果..
只需在终端中手动运行:
节点 node_modules/node-sass/scripts/install.js
现在运行
npm start 或 yarn start
小智 5
对于Visual Studio 2015/2017,右键单击,package.json然后单击“还原软件包”。
这将确保运行Visual Studio Tools External Tools中的npm,并根据该绑定重新构建。
我是 Windows 8 用户,最近更新了 Nodev8.11.1和 npmv6.0.0并遇到了类似的问题。没有任何效果 -npm install -g node-sass@latest或者node-sass从项目中删除目录node_modules/- 没有一个对我有用。
Laravel Mix 向我的浏览器控制台抛出错误,提示缺少节点:win32-x64-57. 我不知道是不是因为互联网连接速度较慢还是更新过程中缺少节点。
因此,一些答案指示我查看 Node-Sass 版本,然后我找到了解决方案。
npm view node-sass version(在{your version}步骤4)C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\并将下载的.node文件放入版本文件夹中你已经完成了。
在我的例子中,node-sass 版本是4.9.0,缺少的节点是win32-x64-57_binding.node,所以我.node从4.9.0 版本下载了文件并按照步骤 4。