节点Sass找不到当前环境的绑定
我在构build应用程序时遇到了问题,因为节点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
这说
二进制是好的; 退出。
当运行node -v
我得到v6.2.2
这与sass错误所说的“节点0.10.x”不同。 我不知道为什么它得到错误的版本。 我也尝试删除node_modules文件夹并运行npm更新或npm安装,这两个都没有解决问题。 有任何想法吗?
注意我正在使用VS 2015,64位Windows 7。
也适用于VS 2017(从回复到这个职位)
任务运行程序资源pipe理器无法加载任务
对于VS 2015
- 转到:工具>选项>项目和解决scheme>外部Web工具
对于VS 2017(.3)
- 工具>选项>项目和解决scheme> Web包pipe理>外部Web工具(per @ nothrow)
- 重新sorting,使$(PATH)高于$(DevEnvDir)\ Extensions \ Microsoft \ Web Tools \ External
删除node_modules
并运行npm install
然后npm rebuild node-sass
什么也没做 。
我有同样的问题
您的gulp文件中有错误:
错误:缺less绑定E:\ allapp \ badshaindiancuisine \ node_module \ node-sass \ vendor \ win32-x64-46 \ binding.node
节点Sass无法为您的当前环境find绑定:使用Node.js 4.x的Windows 64位find以下环境的绑定:
– 带有Node.js 4.x的OS X 64位
如何解决我的问题
首先进入项目文件夹。 然后执行:
npm rebuild node-sass
我在Windows环境中遇到同样的问题,收到以下错误:
错误:缺less绑定C:\ Development {ProjectName} \ node_modules \ node-sass \ vendor \ win32-ia32-47 \ binding.node
节点Sass找不到当前环境的绑定:Windows 32位,Node.js 5.x
find以下环境的绑定:
– Windows 64位与Node.js 6.x
其他答案中列出的npm
命令( npm install
, npm rebuild node-sass
等)都没有工作。
相反,我不得不下载缺less的绑定并将其放置在适当的目标文件夹中。
绑定可以在git上find。 使用/node_modules/node-sass/vendor/
在你的错误信息(在你的情况下是'darwin-x64-11',所以你想要darwin-x64-11_binding.node
文件) darwin-x64-11_binding.node
文件夹名称。
在项目中创build丢失的文件夹( /node_modules/node-sass/vendor/darwin-x64-11
),将.node
文件复制到新目录,并将其重命名为binding.node
。
为我工作:
只要删除node-saas
文件夹并运行npm install
。
我有与节点v7.4.0当前(最新function)相同的问题。
在这里读了一些,并将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
将二进制文件caching到C:\ Users \ user \ AppData \ Roaming \ npm-cache \ node-sass \ 3.13.1 \ win32-x64-48_binding.node
我有一个类似的问题,原因是有两个版本的节点安装在我的机器:一个“全球”和另一个在项目级别。 只有Gulp版本在Node.js 4.x版本下运行,Sass才能正确构build,因此请确保升级您正在使用的节点版本。
PS:如果您完全删除项目中的node_modules文件夹并重新构build,则npm将下载当前系统和节点版本的正确依赖关系。
我有同样的问题
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
那是因为我使用不同的nodejs版本进行了npm安装,请尝试删除node_modules文件夹并启动
npm install npm start or gulp or whatever
如果你使用nvm做的话
nvm use stable // or your favorite version // remove node_module directory npm install npm start or gulp or whatever
这通常是因为运行npm install
环境发生了变化。 运行npm rebuild node-sass
为当前环境构build绑定。
我在创buildAspNetCore应用程序时遇到的Visual Studio 2015社区版的类似错误是:
Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x Found bindings for the following environments: - Windows 64-bit with Node.js 6.x This usually happens because your environment has changed since running `npm install`. Run `npm rebuild node-sass` to build the binding for your current environment. at module.exports ([..]\node_modules\node-sass\lib\binding.js:15:13) at Object.<anonymous> ([..]\node_modules\node-sass\lib\index.js:14:35) at Module._compile (module.js:397:26) at Object.Module._extensions..js (module.js:404:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> ([..]\node_modules\gulp-sass\index.js:187:21) at Module._compile (module.js:397:26)
您可以从上面的错误中看到,原因是来自与nodejs绑定的版本不匹配。
节点Sass找不到当前环境的绑定: Windows 32位,Node.js 5.x
find以下环境的绑定: – 带有Node.js 6.x的Windows 64位
我find的解决办法是
- 安装nodejs windows版本 ,
- 在外部Web工具中添加节点js(C:\ Program Files \ nodejs)的path(请参阅Rob Scott的答案),
- 在$(PATH)上移动nodejspath。
这对我node_modules
删除node_modules
,然后从IDE恢复包,然后npm rebuild node-sass
对于Visual Studio 2015/2017,右键单击您的package.json
并单击还原包。
这将确保Visual Studio Tools External Tools中的npm运行,绑定将根据此重build。
我只是运行npm重build,而不是npm重buildnode-sass,问题没有了。我不知道什么是背后的魔法。
node-sass运行安装脚本来下载所需的二进制文件。 如果没有环境variables,设置.npmrcvariables或进程参数,则使用当前的进程平台,体系结构和节点ABI版本来确定二进制文件。 因此,如果在一个应用程序中运行节点安装,然后尝试在具有不同平台/体系结构/ ABI的应用程序中运行node-sass,则该二进制文件将不会被下载。 解决scheme是手动下载二进制文件或使用环境variables(SASS_BINARY_NAME)或.npmrcvariables(sass_binary_name)修复二进制版本
你可以在node-sass \ lib \ extensions.js的getBinaryPath函数中看到这个逻辑
检查你的系统。 你的系统有2个不同的notejs安装吗? 如果您从nodejs站点的默认安装目录安装节点 C:\ Program Files \ nodejs 我在这里安装了6.xx版本的节点 检查你的VS外部networking工具目录 C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ 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 \ External 目录。 从您的解决scheme中删除node_modules目录。 重新运行该项目。 如果您收到错误消息,请重新运行项目第二次。 如果这不起作用 - 从您的解决scheme中删除node_modules目录。 注意:$是命令提示符 $ npm安装 ... $ npm run build:dev 重新运行该项目。
还请记住将xxx.node文件(在我的情况下是win32-x64-51)重命名为binding.node并粘贴到xxx文件夹(在我的情况下是win32-x64-51),
在某些情况下,您需要卸载并安装node-sass库。 尝试:
npm uninstall --save node-sass
和
npm install --save node-sass
看看这个工作对我来说, Stack
对于从系统节点切换到nvm的用户,如果你还没有删除~/.npm
和~/.node-gyp
~/.npm
文件夹,可能会出现这个问题,因为~/.node-gyp
~/.npm
的节点版本可能不同。
在任何情况下,这些文件夹应该被删除。
去掉
“dependencies”:{“node-sass”:“^ 3.13.1”//版本可能与你的情况有所不同},
从你的package.json