不要在 MacPorts 上浪费时间。我建议改用Homebrew。它易于使用,并且不会用一堆垃圾目录弄乱您的系统。
更新:不要安装 Darwin Ports。达尔文港是假的。另外,我对 MacPorts 的使用体验不是很好,所以我不建议使用它。
所以我决定下载并安装Darwin Ports,让我的生活更轻松一些。我运行了安装程序,它似乎安装得很好。但是当我sudo port -d selfupdate按照文档说的那样运行时,我会收到某种消息:
dlopen(/opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib, 10): no suitable image found. Did find: /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib: no matching architecture in universal wrapper while executing "load /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib" ("package ifneeded Pextlib 1.0" script) invoked from within "package require Pextlib 1.0" (file "/opt/local/bin/port" line 40)
Run Code Online (Sandbox Code Playgroud)
我不知道这意味着什么,也不知道我应该做什么。有什么建议?我也不知道 Darwin Ports 和 MacPorts 之间的区别。也许我试图安装错误的东西?
更新:我决定安装MacPorts看看会发生什么。我能够为 Snow Leopard下载MacPorts 软件包安装程序的版本,安装 MacPorts 并运行sudo port -v selfupdate …
我编译了 GCC 4.4.3 并将其安装在 /usr/local/bin 中,但是每当我通过 MacPorts 1.8.2 安装端口时,详细输出显示 MacPorts 正在使用 /usr/bin/gcc-4.2:
检查 gcc ... /usr/bin/gcc-4.2
如何让 MacPorts 找到我自己的 GCC 4.4.3?这是我现有的路径:
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/lib:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
我正在运行 Mac OS X 10.6.2 Snow Leopard。
我听说有些人喜欢同时使用 Fink 和 Macports,因为有些软件包存在于一个而不是另一个中。
最近我在构建和运行像 GRASS 和 Digikam w/MacPorts 这样的包时遇到了麻烦,并开始寻找替代方案。
只是想知道:pkgsrc 和 Homebrew 是否也能与它们共存并很好地运行?
我仍在尝试包管理器,并喜欢在确定一两个之前探索所有的可能性。
谢谢!
所以我没有在 MacPorts 之后清理过,嗯,从来没有,我试图减少它使用的磁盘空间。几个(但不是全部)端口的源代码仍在我的磁盘上。由于我已经编译并安装了这些端口,是否有任何理由保留源代码?如何让 MacPorts 删除源代码并保留编译后的二进制文件?(或者这是预期的行为;我是否发现端口没有正确清理其来源?)
我已经完成port uninstall inactive和port clean --all installed。他们都极大地帮助清理了其他东西,但他们都没有摆脱源代码。
谢谢。
我正在尝试p5-app-ack从 Mac Ports安装端口,但它似乎最终没有创建/opt/local/bin/ack二进制文件:
$ sudo port search *app-ack
Password:
p5-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
p5.8-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
p5.10-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
p5.12-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
p5.14-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
p5.16-app-ack @1.960.0 (perl)
A grep replacement that ignores .svn/CVS/blib directories
Found 6 ports.
$ perl --version
This …Run Code Online (Sandbox Code Playgroud) 我可以从一个终端窗口中的 vim 粘贴到另一个终端窗口中的 vim,但不能粘贴到 vim 之外的任何内容。我已经阅读了许多关于这个主题的帖子,但我发现没有任何帮助。从 MacVim 复制/粘贴有效,但我更喜欢使用 VIM。
我使用的是通过 MacPorts 安装的 OSX 10.7.5 和 Vim 7.4。
vim --version
Run Code Online (Sandbox Code Playgroud)
显示 +clipboard、+x11、+xterm_clipboard。
我试过 "+y, "*y 结合视觉选择和范围选择。
在我的~/.vimrc,我有
set clipboard=unnamedplus,unnamed,autoselect
Run Code Online (Sandbox Code Playgroud)
编辑:
找到解决方案!现在,y、yy 等等都可以完美运行!无论我在 Vim 中拉什么,我都可以粘贴到外面,而我在外面命令 -c 的任何东西,我都可以在 Vim 中 p。
解决方案:根据 FDinof 的建议,我通过没有 x11 的 MacPorts 重新安装,而不是只做
sudo -v port install vim +huge
为了记录,我仍然有
set clipboard=unnamedplus,unnamed,autoselect
在我的 ~/.vimrc
感谢您的帮助!
我已经使用macports 很长时间了。但最近我正在考虑切换到 pkgsrc。我认为 pkgsrc 仅适用于 NetBSD,所以我忽略了它。但是最近我发现 pkgsrc 付出了很多努力来使它的包配置文件可以跨多个 unices(包括 Linux、DragonFly BSD、FreeBSD、OpenBSD 和 Mac OS X?)移植。
pkgsrc 的优点:
macports 的优点:
那么有人有在 Mac OS X 上使用 pkgsrc 的经验吗?我想听听你的意见。
刚买了 MacBook Pro 15",所以我不熟悉文件系统的布局。我注意到在我的文件系统中,我指定了一些路径httpd.conf:
/etc/apache2/httpd.conf
/opt/local/apache2/conf/httpd.conf
/private/etc/apache2/httpd.conf
Run Code Online (Sandbox Code Playgroud)
配置文件在很多方面都不同(用户、组、server_root、加载的模块等)。apache2 文件夹本身也有很大不同。
似乎使用的是/etc/apache2/httpd.conf或者/private/etc/apache2/httpd.conf
我想知道在通过 macports 安装了一些软件包(php5、django 等)之后我是否可能搞砸了我的系统,并且可能最终有 2 个 apache2 实例。
因此,我的问题是:
谢谢
--update--
澄清一下,我没有通过 macports 明确安装 apache2。我想知道它是否被安装,因为它是一个依赖项。经过更多的搜索,我了解到我从来不应该一开始就安装 php,因为 Snow Leopard 从一开始就已经包含了 php 5.3。
https://serverfault.com/questions/82410/apache-2-and-php-5-3-via-macports
我需要打开另一个问题,询问 Mac 文件系统的工作原理。
谢谢大家的回复。
我在 macports 中有这个警告:
Romans-iMac:~ holms$ sudo port -v install nginx +ssl
Error:
Error: No valid Xcode installation is properly selected.
Error: Please use xcode-select to select an Xcode installation:
Error: sudo xcode-select -switch /Applications/Xcode45-DP1.app/Contents/Developer # version 4.5
Error:
Run Code Online (Sandbox Code Playgroud)
尽管我已经使用了该命令,但警告并没有消失,无论如何编译都可以工作。
如何强制 MacPorts 重建特定端口?我手动更改了 MacPorts makefile 以链接到特定库,但仍然找不到丢失的符号。也许我需要重建,但是如何在不清除端口(这会删除我修改的文件)的情况下实现这一目标?
我尝试使用 MacPortsqt4-mac-devel在 Mac OS X Mountain Lion 中安装 Qt(即端口),但失败并出现未定义的符号 ( _objc_msgSend_fixup)。具有类似问题的MacPorts 票证让我检查了QtWebKit.pro以下有问题的文件:
QT4_SRC=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac-devel/qt4-mac-devel/work/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/WebKit/qt/
Run Code Online (Sandbox Code Playgroud)
第 254 行的谓词else检查 Darwin 11 或 10.7 SDK(两者都在 Lion 中,但在 Mountain Lion 中不可用)。列表中没有if-elseMountain Lion 的 WebKit 谓词。
254: } else: equals(DARWIN_MAJOR_VERSION, "11") | contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.7.sdk") {
255: LIBS += $$SOURCE_DIR/../WebKitLibraries/libWebKitSystemInterfaceLion.a
256: }
257:}
Run Code Online (Sandbox Code Playgroud)
作为一个肮脏的快速修复,我将第 254 行更改为无条件else。当我尝试通过重新运行命令来测试这一点时port install
,我看到了相同的原始错误。我很确定 MacPorts 甚至没有查看我的更改,因为我在将垃圾文本输入到文件并重命名文件后重新运行了命令。所以,我现在正在寻找一种强制重建的方法。
-s(从源重建): …