我在构建应用程序时遇到问题,因为node-sass因错误而一直失败。
错过绑定中的错误/Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
Node Sass找不到当前环境的绑定:OS X 64位,节点为0.10.x
我试过了
npm rebuild node-sass
说
二进制很好;离开。
运行node -v
时,我得到v6.2.2
这与sass错误“Node 0.10.x”的内容不同。我无法弄清楚为什么它会得到错误的版本。我还尝试删除node_modules文件夹并运行npm update或npm install,这两个文件都没有解决问题。有什么想法吗?
答案 0 :(得分:603)
我遇到了同样的问题
你的gulpfile中有一个错误:
错误:缺少绑定E:\ allapp \ badshaindiancuisine \ node_module \ node-sass \ vendor \ win32-x64-46 \ binding.node
Node Sass找不到当前环境的绑定:Windows 64位,带有Node.js 4.x找到以下环境的绑定:
- 带有Node.js 4.x的OS X 64位
如何解决我的问题
进入项目文件夹,然后执行:
npm rebuild node-sass
答案 1 :(得分:241)
注意我正在使用VS 2015,64位Windows 7.
也适用于VS 2017(来自对此帖的回复)
Task Runner Explorer can't load tasks
对于VS 2015
对于VS 2017(.3)
在VS 2017中,您还需要将$(PATH)放在$(VSINSTALLERDIR)\ Web \ External
之上
删除node_modules
并运行npm install
然后npm rebuild node-sass
没有做任何事情。
答案 2 :(得分:117)
我在Windows环境中遇到同样的问题,收到以下错误:
错误:缺少绑定C:\ Development {ProjectName} \ node_modules \ node-sass \ vendor \ win32-ia32-47 \ binding.node
Node Sass找不到当前环境的绑定:Windows 32位,带Node.js 5.x
找到以下环境的绑定:
- 带有Node.js 6.x的Windows 64位
此处其他答案(npm
,npm install
等)中列出的npm rebuild node-sass
个命令均无效。
相反,我必须下载缺少的绑定并将其放在适当的目标文件夹中。
可以找到绑定on 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发布网址: https://github.com/sass/node-sass/releases
答案 3 :(得分:112)
为我工作:
只需删除 node-sass 文件夹并运行 npm install 即可。
答案 4 :(得分:85)
只需执行以下命令:
npm rebuild node-sass --force
就我而言,它也找不到Python
。
以下程序解决了问题(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
答案 5 :(得分:19)
我遇到了类似的问题,原因是我的机器上安装了两个版本的Node:one" global"另一个在项目层面。 仅当Gulp构建在Node.js 4.x版本下运行时,Sass才会正确构建,因此请确保升级您正在使用的Node版本。
PS:如果你完全删除了项目中的 node_modules 文件夹并从头开始重新构建,npm将为你当前的系统下载正确的依赖项。节点版本。
答案 6 :(得分:13)
在某些情况下,您需要卸载并安装node-sass库。尝试:
npm uninstall --save node-sass
和
npm install --save node-sass
看看这对我的工作, Stack link here
答案 7 :(得分:12)
尝试添加后缀--force
npm rebuild node-sass --force
答案 8 :(得分:8)
我遇到了与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`
答案 9 :(得分:8)
我遇到了同样的问题
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文件夹安装并启动
cd your_proyect
rm -rf node_modules
npm install
npm start or gulp or whatever
如果你正在使用nvm do
nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever
答案 10 :(得分:6)
对于我的特殊情况,以上答案均无效。所以它起作用了:
rm -rf node_modules
rm -rf /tmp/*
rm -rf /root/.npm/node-sass
npm uninstall --save node-sass
npm cache clean --force
npm cache verify
检查缓存中是否没有任何内容
npm install
尽管我还没有尝试重现序列,但这是上述方法的结合。 此外,您也可以尝试:
npm install --save node-sass
或npm install node-sass -g
npm rebuild node-sass
npm install bindings
答案 11 :(得分:5)
如果您的终端/命令提示符显示:
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 npm rebuild node-sass
&仍然无效。.
只需在终端中手动运行它:
node node_modules/node-sass/scripts/install.js
现在运行
npm start or yarn start
答案 12 :(得分:4)
对于Visual Studio 2015/2017,右键单击package.json
并单击“还原包”。
这将确保运行Visual Studio Tools外部工具中的npm,并基于此重建绑定。
答案 13 :(得分:4)
回答是否遇到此问题或类似问题,并正在使用Docker。
原因:将当前文件结构复制到Docker容器内部时,您可能正在将节点模块从一个OS系统复制到另一个OS系统(例如,从Mac到Linux容器)。
解决方案:
添加一个.dockerignore
,然后在其中添加:
node_modules
这将导致npm install
为docker环境而非本地计算机环境安装绑定。
答案 14 :(得分:3)
这通常是因为运行npm install
后环境发生了变化。
运行npm rebuild node-sass
会为当前环境构建绑定。
答案 15 :(得分:3)
只需刷新您的npm缓存,然后:
private void showCountDown(final int counterValue) {
new CountDownTimer(counterValue, 1000) {
public void onTick(long millisUntilFinished) {
String elapsedTime = String.valueOf(millisUntilFinished / 1000);
timer.setText(elapsedTime);
}
public void onFinish() {
timer.setText(R.string.text);
}
}.start();
}
在相同情况下,它总是对我有用。
UPD::您的问题还可能是由于缺少全局sasslib。
npm cache clean --force
npm install
答案 16 :(得分:2)
请在根文件夹下写以下命令。
npm重建node-sass
100%有效...
答案 17 :(得分:2)
在工作站中运行Node.js的更新并且全局使用node-sass时会发生这种情况。
因此,您应该全局卸载node-sass
npm uninstall -g node-sass
然后您必须再次在全局安装
npm install -g node-sass
答案 18 :(得分:2)
我是Windows 8用户,最近将节点更新为v8.11.1
,npm更新为v6.0.0
,并遇到类似问题。没有任何效果 - npm install -g node-sass@latest
或删除项目node-sass
中的node_modules/
目录 - 没有一个对我有效。
Laravel Mix向我的浏览器控制台抛出一个错误,指出缺少节点:win32-x64-57
。我不知道这是因为互联网连接速度较慢,还是在更新过程中节点丢失了。
因此,一些答案指示我查看Node-Sass版本,我找到了解决方案。
npm view node-sass version
(步骤4中的{your version}
)C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\
并将下载的.node
文件放在版本文件夹中你已经完成了。
在我的情况下,node-sass版本为4.9.0
,缺少的节点为win32-x64-57_binding.node
,因此我从4.9.0 release下载了.node
文件,然后执行了步骤4。 / p>
答案 19 :(得分:2)
只需运行评论即可。
npm重建节点无效
享受您的编码...
答案 20 :(得分:2)
node-sass
节点模块使用darwin
二进制文件,该文件取决于节点的版本。当未下载二进制文件或下载错误的二进制文件时,会发生此问题。
重新安装节点模块将下载预期的node-sass二进制文件:-
rm -rf node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force
但是对于某些用户,您需要检查节点版本与node-sass版本的兼容性。使用下表使其兼容,然后再次运行以上命令以解决此问题。
如果问题仍未解决,请检查节点支持的环境的列表:-https://github.com/sass/node-sass/releases/
答案 21 :(得分:2)
运行以下命令,对我来说很好。
npm install node-sass -g
npm rebuild node-sass
nvm use 10.16.3
node node_modules/node-sass/scripts/install.js
ng serve --poll=2000
答案 22 :(得分:2)
这对我有用
删除node_modules
,然后从IDE还原npm rebuild node-sass
答案 23 :(得分:2)
我在创建AspNetCore应用程序时遇到的类似错误是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绑定的版本不匹配。
Node Sass找不到当前环境的绑定: Windows 32位,带有Node.js 5.x
找到以下环境的绑定: - Windows 64位,带有Node.js 6.x
我找到的解决方案是
答案 24 :(得分:1)
从VS 2017 Professional升级到企业版时遇到了这个问题
答案 25 :(得分:1)
我必须首先选择新的默认节点版本nvm use ***
或nvm install ***
,然后删除项目中的所有node_modules,然后再次删除npm i
。
答案 26 :(得分:1)
没有一个安装/重建解决方案(使用gulp)为我解决了该问题。
这是我的解决方法:
1)从repository下载丢失的绑定文件。
2)重命名文件binding.node
。
3)创建node_modules/node-sass/vendor/darwin-x64-11
(错误消息的路径)目录(如果不存在)。
4)将绑定文件添加到node_modules/node-sass/vendor/darwin-x64-11
答案 27 :(得分:1)
这对我有用:
// Create authorization header using oauth library
const oauthHeader = ...
const formData = new FormData();
formData.append('status', 'Messy status text with spaces');
fetch(
'https://api.twitter.com/1.1/statuses/update.json', // No status text in url
{
method: 'POST',
body: formData,
headers: {
...oauthHeader
...formData.getHeaders(),
}
}
)
或 List<Future<dynamic>> _selectedItems = List<Future<dynamic>>();
List<dynamic> listofimg = [];
_selectedItems.forEach((element) {
element.then((value) => listofimg.add(value));
});
答案 28 :(得分:1)
构建docker映像并尝试在本地运行时,我遇到了同样的问题。您需要添加带有以下内容的.dockerignore文件:
.DS_Store
.git
.gitignore
.idea
log/*
target
tmp
node_modules
client/node_modules
spec/internal/public/assets
public/assets
答案 29 :(得分:1)
我有同样的问题。我在这里找不到任何正确的解决方案,所以我发现了我的:
受@ Rob-Scott解决方案和其他指示我们可以安装2个版本的Node.js的启发,我去了C:\Program Files (x86)\nodejs
并意识到我除了VS默认安装了一个node.js版本安装。
我的解决方案很简单:
add an entry
(右上方按钮块的最左侧)C:\Program Files (x86)\nodejs
,按enter
在PATH变量中可能没有设置Node.js,但这是我工作的非常快速的解决方案,我的2美分:)
答案 30 :(得分:0)
就我而言,我发现 package-lock.json 中的 node-sass 版本与 package.json 中的 node-sass 版本不同。此步骤解决了我的问题。
希望这对你也有用
答案 31 :(得分:0)
对我来说,是maven-war-plugin将过滤器应用于文件并破坏了woff文件。
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>dist</directory>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
删除
或者,如果您需要过滤,可以执行以下操作:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>dist</directory>
<excludes>
<exclude>assets/**/*</exclude>
</excludes>
<filtering>true</filtering>
</resource>
<resource>
<directory>dist</directory>
<includes>
<include>assets/**/*</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
答案 32 :(得分:0)
检查您的 npm 版本是否与您项目所需的相同
答案 33 :(得分:0)
在 linux ubuntu 20.04 上我需要几个步骤,首先将 node 降级到合适的版本,删除 node_modules,运行 yarn install 最后运行 sudo yarn add node-sass@4.13.0 --force
.Node 版本 10.0.0。
唯一适合我的方法。
答案 34 :(得分:0)
我只是运行npm rebuild而不是npm rebuild node-sass并且问题已经消失了。我不知道背后的魔力是什么。
答案 35 :(得分:0)
我尝试了以上所有方法,但没有任何效果,当我决定访问官方的node.js网站时,我试图将节点版本与node-sass版本进行匹配,下载最新的节点版本(当前为v14,在v12上)并安装。这终于解决了我的问题!您的node-sass版本可能早于node.js版本。
答案 36 :(得分:0)
node-sass运行安装脚本以下载所需的二进制文件。如果没有环境变量,.npmrc变量或进程参数集,则使用当前进程平台,体系结构和Node ABI版本确定二进制文件。因此,如果在一个应用程序中运行节点安装,然后尝试在具有不同平台/体系结构/ ABI的应用程序中运行node-sass,则不会下载二进制文件。解决方案是手动下载二进制文件或使用环境变量(SASS_BINARY_NAME)或.npmrc变量(sass_binary_name)修复二进制版本
你可以在node-sass \ lib \ extensions.js中的getBinaryPath函数中看到这个的逻辑
答案 37 :(得分:0)
检查您的系统:您的系统是否有2个不同的Node.js
安装?
如果从nodejs安装节点,则默认安装目录为
C:\Program Files\nodejs
我在这里安装了节点版本6.xx。
检查您的VS外部网络工具目录
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
目录。node_modules
目录。如果不起作用
node_modules
目录。注意:$是命令提示符
$ npm install
…
$ npm run build:dev
重新运行项目。
答案 38 :(得分:0)
Windows 10 对我来说这是一个有趣的... 为了解决该问题,我必须执行以下所有操作。 1.)显然,某些最新版本的Node.js不支持node-sass 因此,我必须卸载Node-v 12.14.1,并删除C:/ Program Files中的nodejs目录。 2.)重新安装早期版本的Node(对我来说10.16.2起作用)。注意:我最初下载的是x86版本,因此如果您的系统是x64,请下载x64版本... 3.)从这里我必须删除我的整个项目,然后重新克隆它。在此之后一切正常。
答案 39 :(得分:0)
在 node-sass package.json 的情况下,node-sass的发布依赖项是未安装。 >
手动运行它对我来说解决了
node node_modules/node-sass/scripts/install.js
信用:link
答案 40 :(得分:0)
删除/ node-modules文件夹并重新安装,或在删除后运行gradle任务deploy
/Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
它可以解决您的问题。
答案 41 :(得分:0)
还请记得将xxx.node文件(在我的情况下为win32-x64-51)重命名为binding.node并粘贴到xxx文件夹中(在我的情况下为win32-x64-51),
答案 42 :(得分:0)
这可能不会在其他任何人身上发生,但就我而言,当我决定重新启动项目(遵循不同的vue.js教程)时,就会出现此错误。
造成我问题的步骤是:
for l in f:
w = l.split()
if len(w) >= 2 and w[0] == 'From' and w[1] in wk:
print(w[1])
问题是我以前的服务器仍在其他终端选项卡上运行。在localhost:8080上,仍显示的页面是旧项目。
我要做的就是关闭终端中的旧服务器,然后再次执行“ npm run serve”(或查看localhost:8081)。
以防万一这会使别人困惑半小时,或者是因为大笑和咯咯笑。
答案 43 :(得分:0)
如果您使用的是Mac,请安装Xcode。
答案 44 :(得分:0)
对于从系统节点切换到nvm 的人,如果您尚未删除~/.npm
和~/.node-gyp
文件夹,则可能会出现此问题,因为可能是{ {1}} 可以不同。
在任何情况下都应删除这些文件夹。
答案 45 :(得分:0)
回答@ core114建议卸载&amp;再次安装sass
包适用于手动流程,但对于自动部署/ CI / CD ,您需要更通用的方法。对我来说有用的是Continuos部署的不同环境是:
在部署之前使用node_modules
删除旧rimraf
rimraf node_modules
在npm sass
&amp;中更新package.json
个套餐承诺控制源。
对于下一次部署,它将自动刷新所有环境的sass。
答案 46 :(得分:0)
打开Visual Studio 2017
转到工具->选项...
转到项目和解决方案-> Web软件包管理
将$(PATH)移动到该列表的顶部,然后关闭该窗口。
重新启动Visual Studio。
对于我来说这是可行的,因为我的节点版本是11.x
答案 47 :(得分:0)
我遇到的问题是Task Runner Explorer的目标是我项目的解决方案。当我使用下拉列表更改为项目本身时,在Task Runner Explorer刷新按钮旁边,它显示了相关任务。
答案 48 :(得分:0)
我通过将JAVA_HOME从x86更改为x64来解决此问题。 Maven在x86上运行,但是节点在使用x64。删除/ node和/ node_modules并重新构建。
答案 49 :(得分:0)
答案 50 :(得分:0)
我尝试了所有发现的方法。
我注意到该文件夹有些奇怪的行为。当我尝试从VS终端“ cd”到“ node_sass”文件夹时,它提示“未找到文件夹”,但在Finder中可见。
VS终端上的chmod即使使用'sudo'命令也找不到文件夹。
我已经从本地MacOs终端进行了更改,并在用node重建之后。
答案 51 :(得分:-1)
对我来说,当我运行npm安装程序时,它会审计已安装的软件包并显示“发现1个严重漏洞”并通过运行
npm audit fix
成功了。发布是否有帮助。
更新:共享我的错误日志:
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Missing binding ..\node_modules\node-sass\vendor\win32-x64-57\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 8.x
Found bindings for the following environments:
- Windows 64-bit with Node.js 10.x
This usually happens because your environment has changed since running `npm install`.
....
它确实要求我
Run `npm rebuild node-sass` to download the binding for your current environment.
答案 52 :(得分:-1)
答案 53 :(得分:-2)
我能够解决以下问题 npm install --global --production Windows-build-tools
npm install --msvs_version = 2015
“ devDependencies”:{ “ babel-core”:“ ^ 6.26.0”, “ babel-loader”:“ ^ 7.1.4”, “ babel-plugin-transform-decorators-legacy”:“ ^ 1.3.5”, “ babel-preset-env”:“ ^ 1.6.1”, “ babel-preset-react”:“ ^ 6.24.1”, “ babel-preset-stage-2”:“ ^ 6.24.1”, “ css-loader”:“ ^ 0.28.11”, “ mini-css-extract-plugin”:“ ^ 0.4.0”, “ node-sass”:“ ^ 4.11.0”, “ sass-loader”:“ ^ 6.0.7”, “ webpack”:“ ^ 4.4.1”, “ webpack-cli”:“ 3.1.0”, “ webpack-dev-server”:“ ^ 3.1.1” }
答案 54 :(得分:-2)
对于Mac: