无法在Mac终端下载开源项目的源代码

时间:2009-04-09 12:11:04

标签: macos open-source macports

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

我设法通过

获取Ubuntu中wget的源代码
apt-get source wget

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

5 个答案:

答案 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中。您可以通过键入

来查看端口的portfile
cat `port file port_name`
终端中的

,例如:

cat `port file wget`

或者您只需安装端口并在/opt/local/var/macports/distfiles中找到来源。

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

答案 3 :(得分:2)

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

答案 4 :(得分:1)

如果你想在开源项目中使用apt接口,请查看Fink,这是一个带有各种开源软件包的Mac OS X的dpkg系统。