macports混乱

sfa*_*tor 3 macos macports

嘿,我是macports的新手,因为我最近切换到mac.因为我想在我的mac中开发一些应用程序,我想要我需要的所有常用的gnu和开源工具.但我有一个小小的混乱.我正在用macports安装git,我发现它安装了许多像Perl这样的软件包,我已经在我的机器上了.所以我想不会有任何冲突,如何知道使用哪个版本.macports一个还是苹果一个?

mip*_*adi 9

MacPorts将其所有端口安装到/opt/local(或者您配置它的任何前缀中,但/opt/local默认情况下是这样).它安装了自己的Perl,Python等副本,以便MacPorts安装标准化,并避免冲突(Apple提供的某些程序,如Perl和Python,以及一些库,通常远远落后于最新版本的那些工具).

当您安装MacPorts时,它会自动添加/opt/local/bin到您的$PATH变量(您可以通过编辑shell配置文件来更改它),因此如果您打电话perl等,您将获得MacPorts版本.但是,Apple提供的版本仍然完好无损,其他依赖这些版本的程序也不会受到影响.

  • 但需要注意的是:如果您在$ PATH中首先使用/ opt/local/bin以便MacPorts版本具有优先权,请注意*可能*是MacPorts版本与Apple提供的版本之间的差异.过去我被烧过的一个具体且可能很关键的例子是`rsync`,它被MacPorts`git-core`包作为依赖项引入.不幸的是,MacPorts rsync -aE选项与Apple rsync -aE不同:扩展属性和资源分支被静默忽略,这可能会在您尝试使用复制的文件时导致令人讨厌的意外. (6认同)