2014-10-08 71 views
0

我在我的Mac上從fink切換到pkgsrc進行包管理。但現在我發現通過rvm安裝的gempkgsrc似乎沒有很好的配合。例如:可能在OS X上與rvm/gem一起使用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都非常好,我的所有其他需求。但事情不看基於http://rvm.io/rvm/autolibs

+0

爲'macports'放棄並換出'pkgsrc',這看起來類似於沙箱的二進制文件,並且只保留系統目錄。我必須用'rvm reinstall 2.1.3 --disable-binary'來重新安裝ruby,以解決一些關於'gem'中的庫位置的'自制'假設。 – 2014-10-09 14:48:47

回答

1

目前還不清楚究竟是什麼原因導致的問題有前途的pkgsrc,但它看起來就像你通過你PATH暴露的pkgsrc的二進制文件,從而使寶石混淆了類似的libtool或pkg配置。

嘗試從刪除的pkgsrc的bin & sbin目錄的目錄路徑,以確保該問題引起的。

之後,你可以寫一個簡單的包裝來運行二進制文件fr不污染PATH OM的pkgsrc:

PS:

#!/bin/sh -uv 

PATH=/usr/pkg/bin:/usr/pkg/sbin:$PATH exec "[email protected]" 

然後,如果你想運行從pkgsrc的不便做這種方式:

$ ps <your command> 

另外,我不得不說,這是不pkgsrc的問題,而是fink的問題。 Pkgsrc不會嘗試從PATH運行二進制文件,而是使用完整路徑,即使您的PATH公開其他軟件包系統的二進制文件,也不會感到困惑。

相關問題