适合Cygwin?


127

apt-get与Cygwin一起使用的类似程序吗?

我已经尝试过,cyg-apt但是当我尝试此错误时:

cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.bz2
cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.ini
cyg-apt: bad URL http://cygwin.mirrors.pair.com/setup-2.ini, exiting.

该文件在源存储库中可用。
布鲁诺

是否可以从cygwin以外的其他仓库下载?实际上,对于使用linux脱机的计算机,我需要一些linux头文件,但是我需要使用apt-get在Windows上下载它们。
亚历克斯


2
cyg-apt具有5年之前的最新更新。当前的存储库结构不同。因此,它将无法正常工作。
David FerenczyRogožan2014年

2
不要混淆cyg-aptapt-cyg。后者要好得多(只要记住听起来最相似的apt-get就是好声音)。
Sridhar Sarnobat

Answers:


131

我曾经用过的最好的:

apt-cyg软件包管理器


apt-cyg orks真的很好。刚刚安装了rsync,openssh,mc等。
Jako

9
它只能安装和删除软件包,不是吗?无法使用apt-cyg将特定软件包或所有软件包升级到最新版本。很好,但是没用,因为我也必须使用Cygwin的设置。如果我错了,我会很高兴。
David FerenczyRogožan2014年

1
apt-cyg update如果有人
遇到

有镜子吗?
Danny Lo

2
@CodeMonkey回购回购,以及它的竞争对手:Sage
Brian Brownton,2016年

91

您可以从Windows命令行使用Cygwin的setup.exe来执行此操作。例:

cd C:\cygwin64
setup-x86_64 -q -P wget,tar,qawk,bzip2,subversion,vim

对于更方便的安装程序,您可能需要使用 apt-cyg软件包管理器。它的语法类似于apt-get,这是一个加号。为此,请按照上述步骤操作,然后将Cygwin Bash用于以下步骤:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

现在apt-cyg已安装。以下是一些安装软件包的示例:

apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates

在执行上述步骤之后,对于64位apt-cyg,给出了/ usr / local / bin / apt-cyg:行1:$'\ r':找不到命令/ usr / local / bin / apt-cyg:行3:$ '\ r':找不到命令/ usr / local / bin / apt-cyg:第19行:$'\ r':没有找到命令/ usr / local / bin / apt-cyg:第21行:$'\ r' :找不到命令/ usr / local / bin / apt-cyg:第27行:意外令牌附近的语法错误||' 'usr/local/bin/apt-cyg: line 27: || 测试“-$ GAWK-” =“-”
Shahjahan Khan

@sagunms很有魅力!直到我找到解决方案,这才是令人讨厌的问题。谢谢。
Yoon Lee

@Shahjahan Khan:看来,您使用某些Windows文本编辑器破坏了行尾。使用Linux行尾(\ n或LF或0x0A),而不使用Windows(\ r \ n或0x0D 0x0A或CR LF)。
David FerenczyRogožan2014年

嘿..我将如何使用该工具安装gcc,假设我在安装cygwin时忘记安装Devel软件包
Olu Smith

1
为我工作!一个
尼克·加里莫尔

26

更新:您可以阅读更复杂的答案,其中包含更多方法和信息。

存在两个脚本,可以用作简单的程序包管理器。但据我所知,它们都不允许您升级软件包,因为在Windows上这不是一件容易的事,因为不可能覆盖正在使用的文件。因此,您必须先关闭所有Cygwin实例,然后才能使用Cygwin的本机setup.exe(当使用文件时,它本身通过“重启后替换”方法进行升级)。


适体

对我来说最好的。仅仅是因为它是最新的之一。它在x86和x86_64两种平台上均正常工作。存在许多具有一些附加功能的货叉。例如,kou1okada叉子是改进版本之一。


Cygwin的setup.exe

它还具有命令行模式。此外,它允许您一次升级所有已安装的软件包。

setup.exe-x86_64.exe -q --packages=bash,vim

使用示例:

setup.exe-x86_64.exe -q --packages="bash,vim"

您可以创建一个别名以便于使用,例如:

alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"

然后,您可以例如使用以下命令安装Vim软件包:

cyg-get vim


18

您可以随时为$ home / .bashrc中的setup * .exe文件创建bash别名

cygwin 32位

alias cyg-get="/cygdrive/c/cygwin/setup-x86.exe -q -P"

cygwin 64位

alias cyg-get="/cygdrive/c/cygwin64/setup-x86_64.exe -q -P"

现在您可以使用

cyg-get <package>

6

不能。唯一官方支持的下载和更新Cygwin软件包的工具是用于初始安装setup.exe文件,尽管可以使用命令行参数调用该文件来帮助完成该过程。

在同一页面上:

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


1
这些是为什么通常无法实现的一些很好的细节。应该包含在cyg-get或apt-cyg文档中。
oligofren


-1

您可以使用Chocolatey进行安装cyg-get,然后再安装软件包。

例如:

choco install cyg-get

然后:

cyg-get install my-package

1
不幸的是,这不仅下载了Cygwin的安装setup-x86_64.exe程序,而且再次安装了Cygwin apt-cyg。我不得不取消安装。
Metafaniel '16

我认为这并非发生在我身上:/
fabriciorissetto
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.