Xcode command line tool 与 MacPorts 和 Homebrew 的安装问题

2015-03-24 10:20:38 +08:00
 Gem

MacBook Pro(Retina 显示屏,13 英寸,2015 年初期)全新系统 => OS Yosemite(版本:10.10.2),已经安装Xcode IDE,Chrome,其他程序未安装。

个人情况:初次使用Mac OS,没有相关linux系统经验,没有编程经验,纯新手,正准备开始学习一些简单编程。

问题背景:已经进行过相应的Google,但是没有找到比较详细的教程或者答案,进来向大家请教,希望有经验的同学可以指点一下,谢谢。


第一:安装Xcode Command line tool工具,碰到的一些不明白的问题。

问题一:通过terminal终端安装Xcode Command line tool 工具,使用以下命令

codeMacbook-Pro:~ cue$ xcode-select --install

使用这个命令可以安装Xcode Command line tool,按照网上教程验证一下输入“gcc --version”可以出现一些gcc的相关版本信息。

后来看到一个教程是加上 sudo 的,也就是通过 sudo xcode-select --install 命令安装的(于是我按照教程,使用sudo xcode-select --install 再次安装一下,Terminal终端窗口提示:“xcode-select: error: command line tools are already installed, use "Software Update" to install updates”,提示我已经安装),现在的问题是:我没有加上 sudo 会不会对以后安装一些程序(例如homebrew)有没有什么影响?

问题二:在终端窗口输入命令查看Xcode Command line tool的安装位置

codeMacbook-Pro:~ cue$ xcode-select -p

/Applications/Xcode.app/Contents/Developer

网上教程 [http://blog.sina.com.cn/s/blog_68f3bc280101cezm.html] 说,出现这个位置,说明Xcode Command line tool安装没有成功,如果成功的话,会显示位置在:

/Library/Developer/CommandLineTools

但是我通过Finder的“前往/前往文件夹”命令查找这个文件夹位置,发现已经存在,按照给出链接的这个教程,还需要自己指定一下位置,在终端中输入

codeMacbook-Pro:~ cue$ sudo xcode-select -s /Library/Developer/CommandLineTools

我的疑问是,我已经安装好了,虽然使用

xcode-select -p

命令,没有出现教程中提到的位置,也就是

/Library/Developer/CommandLineTools

但是我输入gcc --version 验证,是可以出现gcc相关信息的,那就是说

是不是我此时不用再自己指定位置了?

之所以有这个疑问,是因为,我看这个教程上系统是10.9,是不是和10.10会有不同。


第二:MacPorts和Homebrew的安装问题

看到网上一个教程:

[http://www.jianshu.com/p/f9b2c74cb519]

说要先删除MacPorts,才可以安装Homebrew,因为两者不兼容;但是我按照这个教程,先通过Finder工具来找下面这些文件或文件夹

/opt/local \
/Applications/DarwinPorts \
/Applications/MacPorts \
/Library/LaunchDaemons/org.macports.* \
/Library/Receipts/DarwinPorts.pkg \
/Library/Receipts/MacPorts
.pkg \
/Library/StartupItems/DarwinPortsStartup \
/Library/Tcl/darwinports1.0 \
/Library/Tcl/macports1.0 \
~/.macports

却没有找到,同时又在Google中发现一篇文章提到说Mac OS系统默认集成了MacPorts,这也就是说无论如何必须要先删除MacPorts了,但是系统中找不到这些文件或文件夹,这是不是有些矛盾?

现在的问题是:

a: OS Yosemite(版本:10.10.2)到底有没有默认安装了MacPorts,如果有,如何查找它的具体位置,并且卸载它,然后安装Homebrew;

b: 还是可以这样说——我现在不用管MacPorts了,就直接安装Homebrew就完全没有问题了。

Mac 新手,因为个人略有点洁癖,不喜欢把系统搞乱,所以,以上两个问题,显得有些啰嗦,希望有过经验的朋友可以给些详细的指点,再次感谢。

16327 次点击
所在节点    macOS
14 条回复
canautumn
2015-03-24 10:47:58 +08:00
mac系统没有集成macports,误导啊。
直接上homebrew吧。洁癖要改一改。(悄悄告诉楼主我俩都装了,熟悉了之后自然有办法避免他们互相干扰。网上的东西不能全信。)
dotpig
2015-03-24 10:48:42 +08:00
谁跟你说 Yosemite 默认安装了 MacPorts 你可以把他拉出去毙了先。
popbones
2015-03-24 11:29:14 +08:00
首先现在的Xcode CL Tools会在第一次启动Xcode的时候安装,需要输入管理员密码,所以权限肯定是正确的。之后App Store还会推动相关的更新,所以没有特殊需求的话就不建议手动装了。

然后无论是MacPorts还是Homebrew,系统肯定是不集成它们的。我只用过前者,据说MP其实就是一个标准的BSD包管理器的前端和Repo,所以按理说和Darwin应该是天生一对,不过进来很多开源工具都是基于Homebrew的,当然使用MP的话,大部分源码下下来make install也没问题。

然后搂住也查到了兼容的问题,确实是不建议两个都装。举例来说对于像楼主这样对类Unix开发环境不太了解的,到时候出了问题可能查找是否用了某个命令或库的某个版本可能会很头疼的。其实如果楼主不是一般的应用开发没有它们也是可以进行的。

以上。
chaixl
2015-03-24 11:33:17 +08:00
a. Yosemite 不会默认安装 MacPorts。
b. 安装homebrew前卸载MacPorts,卸载方法https://guide.macports.org/#installing.macports.uninstalling
FradSer
2015-03-24 11:59:07 +08:00
吓死我了,以为我的系统是盗版的。洁癖,可以先安装一个模拟器折腾一下,然后再到自己机器上弄。以上回答都挺好的。
按照 homebrew 的正常流程,就没有问题。建议用 homebrew 再次安装 git 等某些 Xcode Command line tool 集成的工具。
goodbest
2015-03-24 12:02:40 +08:00
建议lz你现在就拿u盘做个恢复盘。

然后好好的玩一玩,啥都尝试一下。这样就都不怕了

玩好以后重新再装一遍。
chunyang
2015-03-24 14:26:48 +08:00
MacPorts 和 Homebrew 默认都没有安装,这两者是同类软件,不建议同时安装和使用。MacPorts 安装前需要安装 Xcode。
braineo
2015-03-24 16:35:34 +08:00
现在不是默认llvm clang了么?还有gcc?
slixurd
2015-03-24 17:13:39 +08:00
@braineo gcc跑的是clang
braineo
2015-03-24 21:55:17 +08:00
@slixurd 打gcc实际跑的是clang?
slixurd
2015-03-25 14:40:56 +08:00
@braineo 对的
➜ ~ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
Vanson
2015-03-26 09:15:28 +08:00
安装了Xcode 就默认安装了Xcode Command Line Tools,无需再次单独安装。。。。Xcode发行文档有说明的。
regent
2015-03-29 00:25:02 +08:00
楼主的clt安装成功了?我总是提示成功,手机homebrew提示没有
Gem
2015-03-30 18:10:42 +08:00
楼上各位均已感谢。@regent 我直接在命令行安装了一遍,至于你说的“手机homebrew提示没有”,不太明白什么意思。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX