我正在尝试在Mac下载wget的源代码。
我设法通过
获取Ubuntu中wget的源代码apt-get source wget
但是,我还没有设法在Mac的终端下载源代码。 我在MacPorts中找不到相同的实用程序。
答案 0 :(得分:9)
MacPorts是一个基于源的包管理器。这意味着每次通过MacPorts安装软件包时,它都会下载源代码,可能会对其进行补丁,对其进行配置,构建,将其安装到临时位置(以便可以跟踪端口需要的文件),对其进行归档。 ,然后将该存档安装到MacPorts根目录中,通常为/opt/local
。
如果要在构建源之前查看或编辑源,可以执行下载和安装源所需步骤的子集。 port extract <name>
将下载并解压缩端口的源代码,而无需实际构建或安装它。然后,您可以使用port dir <portname>
找到提取的来源:
$ sudo port -v extract zlib
Password:
---> Fetching zlib
---> Verifying checksum(s) for zlib
---> Checksumming zlib-1.2.3.tar.bz2
---> Extracting zlib
---> Extracting zlib-1.2.3.tar.bz2
$ ls $(port dir zlib)
Portfile files work
$ ls $(port dir zlib)/work
zlib-1.2.3
$ ls $(port dir zlib)/work/zlib-1.2.3
ChangeLog as400 examples inftrees.h uncompr.c
FAQ compress.c gzio.c make_vms.com win32
INDEX configure infback.c minigzip.c zconf.h
Makefile contrib inffast.c msdos zconf.in.h
Makefile.in crc32.c inffast.h old zlib.3
README crc32.h inffixed.h projects zlib.h
adler32.c deflate.c inflate.c qnx zutil.c
algorithm.txt deflate.h inflate.h trees.c zutil.h
amiga example.c inftrees.c trees.h
有关开发端口的更多信息,请参阅MacPorts guide,以及man port
。
答案 1 :(得分:2)
大多数开源项目提供源代码的压缩存档或可读的版本控制存储库。例如,wget的源代码可在http://ftp.gnu.org/gnu/wget/获得。您需要做的就是确定要下载的版本,并在终端窗口中输入一个命令,如
ftp http://ftp.gnu.org/gnu/wget/wget-1.10.2.tar.gz
然后,您可以使用
之类的命令解压缩源代码tar xvzf wget-1.10.2.tar.gz
如果代码位于版本控制存储库中,则项目还将列出您下载代码所需的命令。例如,cvs2svn为您提供命令
svn co --username=guest http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
可能有特定于Mac的方法,但我所描述的美妙之处在于它适用于任何类Unix环境。
答案 2 :(得分:2)
AFAIK,MacPorts与apt-get的源没有类似的功能。
但是,源URL位于Portfiles中。您可以通过键入
来查看端口的portfilecat `port file port_name`
终端中的,例如:
cat `port file wget`
或者您只需安装端口并在/opt/local/var/macports/distfiles
中找到来源。
您甚至可以使用install命令只下载(而不是构建或安装)端口。
答案 3 :(得分:2)
apt-get
是一个自动下载和安装软件包及其依赖项的程序;它仅适用于某些基于Linux的平台,如Debian和Ubuntu。 Mac OS X有两个类似的实用程序:Fink和MacPorts。两者都与apt-get
具有相同的目的。我个人更喜欢MacPorts,因为我认为它有更好的用户界面,但两个软件的工作方式大致相同。
答案 4 :(得分:1)
如果你想在开源项目中使用apt接口,请查看Fink,这是一个带有各种开源软件包的Mac OS X的dpkg系统。