我在 iMac 上安装了 MacPorts,并安装了相当数量的端口。
不过,我对试用 Homebrew 很感兴趣,因为我听说过很多关于它的好消息,并且因为我注意到它包含我使用的几个工具的更新版本。
但是两者可以在同一台机器上共存,还是我需要先完全卸载 MacPorts?
还有,如果两者可以同时安装,是不是就完全独立了?Homebrew 的特点之一是它不会重新安装系统中已经包含的东西的新版本(例如python)。这是否也扩展到不安装 MacPorts 已经维护的版本?
如果我随后卸载 MacPorts 会怎样?
我应该运行哪个命令
我有一个使用建议
port clean --all all
Run Code Online (Sandbox Code Playgroud)
但它试图清理我没有的端口,尽管我尝试过
port clean --all installed
Run Code Online (Sandbox Code Playgroud)
但它没有删除旧的非活动版本,然后
port -u uninstall
Run Code Online (Sandbox Code Playgroud)
但它坚持说py25-nose(哪个是活动的)取决于py25-setuptools(哪个是非活动的)。
我需要安全地擦除一些文件。shred之前在linux系统上用过,找了一圈,发现shred是coreutilsmacports中的包的一部分。我确实port install coreutils安装了coreutils,但shred在命令行中仍然找不到。
我怎样才能shred在我的 mac 命令行上工作?如果重要,我使用的是 Mac OS X 10.7.5 (Lion)
键入命令时如何获取fink和macports自动完成程序名称,如在 Ubuntu 中apt-get?
例如,当我输入
sudo port install ca
Run Code Online (Sandbox Code Playgroud)
然后按tab,我希望终端自动完成或显示可用命令。
OS X 甚至不会在sudo!
在我的 Mac OS X 机器上,您如何推荐我安装命令行软件和其他软件包?我一直在使用 MacPorts,它似乎总是很慢,大概是因为它必须即时编译软件包。
我更喜欢有二进制包的包管理系统,这样我每次想下载新东西时都不需要编译。我认为 Fink 有一些软件包的二进制文件,但我通常看到推荐使用 MacPorts 作为系统。
你认为哪个效果更好,为什么?(或者还有其他我没听说过的系统吗?)
我已经在 Mac OS X Lion 上安装了 MacPorts,我想将其删除。应该不会再有 MacPorts 的踪迹了吧?
有没有办法做到这一点?
我正在使用 Fink 在我的 Mac 上安装 Unix 应用程序,我刚遇到 Homebrew 并看到了一些关于 Homebrew 的好评。
所以,我的问题是:
我曾尝试安装 MacPorts 以升级我的 Rails 版本,以便我可以通过 Rails、PragProg(2011 年第 4 日)进行敏捷 Web 开发。我已按照书中以及MacPorts 网站上的说明从磁盘映像执行安装。它似乎安装正确,但是,之后运行端口命令返回“端口:未找到命令”。
我搜索了 Stack Exchange 并发现了这个问题,所以我尝试使用“tar xjvf MacPorts-1.9.2.tar.bz2”从命令行安装。同样,安装似乎有效。我收到 MacPorts 安装成功的确认,但在尝试自我更新 MacPorts(通过“sudo port -v selfupdate”)时我仍然收到“sudo: port: command not found”错误。
我认为我的错误在于没有设置正确的路径。我遵循了this thread中的建议,即在paths.d中添加路径(/opt/local),但我仍然收到错误消息。
如果重要,终端设置为使用默认登录 shell (/usr/bin/login) 打开 shell。我应该将其更改为 /bin/bash 吗?
那么,这是 MacPorts 问题、$PATH 问题还是 StupidUser 问题?
在维护 macports 包时,我更喜欢在用新包替换旧包时删除旧包。但是,随着软件包的升级,随着时间的推移,您最终会遇到以下问题:
$ sudo port uninstall -f postgresql83
---> The following versions of postgresql83 are currently installed:
---> postgresql83 @8.3.3_0
---> postgresql83 @8.3.7_0
---> postgresql83 @8.3.8_1 (active)
Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.
Run Code Online (Sandbox Code Playgroud)
是否有 macports 命令可以一次删除所有版本的软件包?
我有默认的 OpenSSL 9.8 (Mac OS X 10.6.8) 并决定通过 MacPorts ( sudo port install openssl)安装最新版本 (1.0.1 )。
这些是which和whereis命令的控制台输出:
$ whereis openssl
/usr/bin/openssl
Run Code Online (Sandbox Code Playgroud)
(这是默认系统的一个)
$which openssl
/opt/local/bin/openssl
Run Code Online (Sandbox Code Playgroud)
(这是通过 MacPorts 安装的)
$ openssl version
OpenSSL 1.0.1c 10 May 2012
Run Code Online (Sandbox Code Playgroud)
(PATH中有mac端口的版本)
为什么为whereisand返回了不同的路径which,这可以吗?有什么办法可以得到相同的结果吗?
macports ×10
macos ×9
fink ×3
homebrew ×3
path ×2
bash ×1
command-line ×1
mac ×1
secure-erase ×1
which ×1