我从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}}
答案 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暴露了其他包系统的二进制文件,它通常也不会感到困惑。