Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cygwin-使用命令行安装程序安装特定的软件包版本_Cygwin - Fatal编程技术网

Cygwin-使用命令行安装程序安装特定的软件包版本

Cygwin-使用命令行安装程序安装特定的软件包版本,cygwin,Cygwin,使用命令行安装程序,您可以很容易地安装Cygwin,并提供所需的软件包列表,如 setup-x86.exe -q -p='tar,sed,<more packages>' setup-x86.exe-q-p='tar,sed,' 是否也可以修复软件包的版本,例如 setup-x86.exe -q -p='tar:1.2.3,sed,<more packages>' setup-x86.exe-q-p='tar:1.2.3,sed,' (这显然不起作用)您的问题的简

使用命令行安装程序,您可以很容易地安装Cygwin,并提供所需的软件包列表,如

setup-x86.exe -q -p='tar,sed,<more packages>'
setup-x86.exe-q-p='tar,sed,'
是否也可以修复软件包的版本,例如

setup-x86.exe -q -p='tar:1.2.3,sed,<more packages>'
setup-x86.exe-q-p='tar:1.2.3,sed,'

(这显然不起作用)

您的问题的简短答案是,。Cygwin的
setup-x86.exe
不允许您灵活地指定版本名和包名。根据官方文件:

没有功能更全面的包管理器的基本原因是,这样的程序需要完全访问Cygwin的所有POSIX功能。然而,这在没有Cygwin的环境中很难提供,例如第一次安装时就存在的环境。此外,Windows不允许覆盖正在使用的可执行文件,因此在包管理器使用该DLL时安装新版本的Cygwin DLL是有问题的

但是,如果您想下载特定软件包,有两种变通方法:

  • 找到承载特定版本的cygwin镜像。谷歌搜索你的版本,如果你发现一个镜像托管该版本,只需在运行
    setup-x86.exe
    之前使用该镜像即可
  • 维护本地包存储库并使用命令行选项
    -q-L-lx:\cygwin local\
    ,下载的包树位于
    x:\cygwin local\
    中。您可以学习如何构建和维护包
  • 使用
    make
    设置cygwin后,编译并安装该软件包

  • 看起来您可以在
    -p
    中添加一些正则表达式:为什么不在所有命令行软件包安装中使用
    apt cyg
    ?您可能会对以下答案感兴趣: