无法从Windows命令提示符运行curl命令,但可以从cygwin驱动器运行它

问题描述 投票:0回答:3

当我从 Windows 命令提示符运行命令时: sh ./abc.sh

出现以下错误:

curl: option --compressed: the installed libcurl version doesn't support this
curl: try 'curl --help' for more information

我可以从 cygwin 驱动器运行相同的命令。

如何运行与从 Windows 命令提示符运行相同的命令?

curl 上的命令给出以下结果:

>where curl
C:\Windows\System32\curl.exe
C:\cygwin64\bin\curl.exe
windows curl cygwin
3个回答
6
投票

compressed
是cygwin提供的curl的一个功能。

在 Cygwin bin 目录之外的 CMD 中尝试

where

D:\cygwin64>where curl
C:\Windows\System32\curl.exe

D:\cygwin64>cd bin

D:\cygwin64\bin>where curl
D:\cygwin64\bin\curl.exe
C:\Windows\System32\curl.exe

并避免在 PATH 中的 Cygwin 安装之前放置

C:\Windows\System32
如果你想使用 Cygwin 程序。


0
投票

我找到了解决方案。最后,我从 Firefox 网络监视器请求复制的curl 命令与

--compressed
命令一起使用。 只需安装一些curl即可,我的是Git应用程序自带的,所以通常在
c:\Program Files\Git\mingw64\bin\
中并将其添加到系统的Path环境变量中,通常您可以在安装Git时添加它,而无需自己编辑它。重新打开cmd窗口。还有中提琴,它有效!确保路径变量位于可以找到curl的其他变量之上,例如
C:\windows\system 32
...为了确保你的变量可以工作,请在cmd中输入
curl --version
。如果它使用的是 Git 中的命令,即支持
--compressed
命令的命令,则应该显示如下内容:
curl 7.78.0 (x86_64-w64-mingw32) libcurl/7.78.0 OpenSSL/1.1.1k (Schannel) zlib/1.2.11 brotli/1.0.9 zstd/1.5.0 libidn2/2.3.1 libssh2/1.9.0 nghttp2/1.43.0 Release-Date: 2021-07-21

Windows 10 21H1 中是这样的:

curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL Release-Date: 2017-11-14, security patched: 2019-11-05

您还可以在不更改任何环境变量的情况下,通过在命令名称之前输入完整路径来简单地调用您想要的任何curl,例如调用Git附带的一个:

c:\Program Files\Git\mingw64\bin\curl
和来自系统目录的一个:
c:\windows\system32\curl
,然后调用您的命令参数,如
--version
或其他。


0
投票

根据 matzeri 接受的答案,您可以通过执行以下操作为其他卷曲创建别名:

  1. 创建一个包含以下内容的蝙蝠:
@echo off
doskey curl2="C:\path\to\other\curl.exe" $*

(更改为使用自己的路径)

  1. 运行regedit.exe并进入“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor”, 创建一个名为“Autorun”的属性,并将其值设置为上面bat文件的完整路径

  2. 就是这样,你可以使用curl2来调用非windows的curl,
    尝试重新启动 cmd.exe 并运行

    curl2 --version
    进行测试

© www.soinside.com 2019 - 2024. All rights reserved.