我正在尝试在 Mac 中下载 wget 的源代码。
我设法通过以下方式在 Ubuntu 中获取 wget 的源代码
apt-get source wget
但是,我还没有设法在 Mac 的终端中下载源代码。我在 MacPorts 中没有找到相同的实用程序。
我正在尝试在 Mac 中下载 wget 的源代码。
我设法通过以下方式在 Ubuntu 中获取 wget 的源代码
apt-get source wget
但是,我还没有设法在 Mac 的终端中下载源代码。我在 MacPorts 中没有找到相同的实用程序。
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 指南,以及man port
.
大多数开源项目都提供其源代码的压缩存档或可读的版本控制存储库。例如,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 环境。
AFAIK,MacPorts 没有与 apt-get 的源代码类似的功能。
但是,源 URL 在 Portfiles 中。您可以通过键入来查看端口的端口文件
cat `port file port_name`
在终端中,例如:
cat `port file wget`
或者您可以只安装端口并在/opt/local/var/macports/distfiles
.
您甚至可以使用 install 命令来下载(而不是构建或安装)端口。
如果你想要一个适合开源项目的接口,请查看Fink,这是一个用于 Mac OS X 的 dpkg 系统,带有各种开源包。