2

我正在尝试在 Mac 中下载 wget 的源代码。

我设法通过以下方式在 Ubuntu 中获取 wget 的源代码

apt-get source wget

但是,我还没有设法在 Mac 的终端中下载源代码。我在 MacPorts 中没有找到相同的实用程序。

4

5 回答 5

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 指南,以及man port.

于 2009-04-09T13:29:49.050 回答
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 环境。

于 2009-04-09T12:20:59.387 回答
2

AFAIK,MacPorts 没有与 apt-get 的源代码类似的功能。

但是,源 URL 在 Portfiles 中。您可以通过键入来查看端口的端口文件

cat `port file port_name`

在终端中,例如:

cat `port file wget`

或者您可以只安装端口并在/opt/local/var/macports/distfiles.

您甚至可以使用 install 命令来下载(而不是构建或安装)端口。

于 2009-04-09T12:27:22.537 回答
2

apt-get是一个用于自动下载和安装软件包及其依赖项的程序;它仅在某些基于 Linux 的平台上可用,例如 Debian 和 Ubuntu。Mac OS X 有两个类似的实用程序:FinkMacPorts。两者的目的相同apt-get。我个人更喜欢 MacPorts,因为我认为它有更好的用户界面,但两个软件的工作方式或多或少是相同的。

于 2009-04-09T13:24:01.310 回答
1

如果你想要一个适合开源项目的接口,请查看Fink,这是一个用于 Mac OS X 的 dpkg 系统,带有各种开源包。

于 2009-04-09T13:09:54.260 回答