可以在OS X上使用带有rvm / gem的pkgsrc吗?

时间:2014-10-08 20:03:17

标签: ruby macos gem

我从fink切换到pkgsrc以便在我的Mac上进行包管理。但现在我发现通过gem安装的rvm似乎与pkgsrc无法很好地配合。例如:

$ gem update
Updating installed gems
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

这令人费解,因为:

$ which openssl
/usr/pkg/bin/openssl

我也抱怨丢失了包autoconf automake libtool pkg-config libyaml readline libksba openssl,但我已经用pkgsrc安装了所有包。

有关推进这两项的任何想法吗?似乎rvm确实想要使用homebrew。我宁愿不吹嘘pkgsrc并安装homebrew,因为pkgsrc可以很好地满足我的所有其他需求。但pkgsrc基于{{{1}}看起来并不乐观{3}}

1 个答案:

答案 0 :(得分:1)

目前尚不清楚究竟是什么导致了这个问题。但是看起来你通过PATH暴露了pkgsrc的二进制文件,所以gem混合了像libtool或pkg-config这样的东西。

尝试删除pkgsrc的bin&从您的路径sbin目录,以确保这导致问题。

之后,您可以编写一个简单的包装器来从pkgsrc运行二进制文件而不会污染PATH:

PS:

#!/bin/sh -uv

PATH=/usr/pkg/bin:/usr/pkg/sbin:$PATH exec "$@"

然后如果你想从pkgsrc运行smth,就这样做:

$ ps <your command>

另外,我不得不说,这不是pkgsrc的问题,而是fink的问题。 Pkgsrc没有尝试从你的PATH运行二进制文件,而是使用完整路径,即使你的PATH暴露了其他包系统的二进制文件,它通常也不会感到困惑。