嘿,我刚开始接触macports的东西,因为我最近换到了mac。当我考虑在我的mac上开发一些应用程序时,我想要我需要的所有常用的gnu和开源工具。但我有一个小小的困惑。我正在用macports安装git,我注意到它安装了很多像Perl这样的包,我的machne中已经有了。所以我在想会不会有任何冲突,以及如何知道使用的是哪个版本。macports的还是苹果的?
发布于 2009-11-18 06:46:54
MacPorts将其所有端口安装到/opt/local (或您配置的任何前缀,但默认情况下是/opt/local )。它安装自己的Perl、Python等副本,以便MacPorts安装是标准化的,并避免冲突(苹果提供的一些程序的版本,如Perl和Python,以及一些库,通常远远落后于这些工具的最新版本)。
当您安装MacPorts时,它会自动将/opt/local/bin作为$PATH变量的前缀(您可以通过编辑shell配置文件对其进行更改),因此,如果您调用perl等命令,您将获得MacPorts版本。但是,Apple提供的版本仍将保持不变,依赖这些版本的其他程序也不会受到影响。
发布于 2009-11-18 06:47:12
应该不会有任何冲突,因为MacPorts在/opt/local/中将其所有程序安装在一个完全独立的目录层次结构下。
如果您安装了多个版本的软件(例如,默认的order和MacPorts的Perl),那么它取决于$PATH环境变量中目录的顺序。MacPorts通常在前面的path中设置自己的bin目录,因此在命令行中输入perl将调用MacPorts Perl,而不是OS X Perl。
发布于 2009-11-18 06:46:29
MacPorts会在/opt/local树中安装它自己的依赖项(您可以在构建MacPorts时更改此默认值),因为它的打包程序会有一个已知的数量来进行测试。在某些情况下,对于给定的依赖项,有一个系统包可以让您使用系统安装的版本,但这种情况实际上非常少见。系统与MacPort版本是根据PATH (对于可执行文件)或链接器路径(对于动态库)上最先出现的那个来选择的。使用您的标准开发工具的选项来选择要链接到的适当的库,这样就可以了。
https://stackoverflow.com/questions/1752404
复制相似问题