Software-Installation
FreeBSD 上的“ruby: Command not found”,儘管已經安裝了它
我只是嘗試在一個很久沒用過的 FreeBSD 機器上執行一個 ruby 腳本,然後得到“ruby:找不到命令”。所以我想我以前沒有安裝它。去 /usr/ports/lang/ruby22 並做了一個 make install clean 。那告訴我 ruby22 已經安裝了。
然後我做了一個 pkg version -v,它告訴我它實際上已經安裝了。然後我想也許它有一個 bin 目錄,由於某種原因從 $PATH 中刪除,或者類似的東西,所以我做了一個 make deinstall,然後一個 make install。它聲稱安裝得很好,但我仍然收到“ruby:找不到命令”錯誤。
進一步調查,它確實安裝了一個 /usr/local/bin/ruby22 執行檔,我想我可以創建一個符號連結到它,但是……這裡出了什麼問題嗎?是否有一些我沒有採取的安裝步驟讓 FreeBSD 知道我真的,真的想使用這個特定版本的 Ruby 作為機器的預設“ruby”?
萬一這很重要,這是 10.1 RELEASE amd64,並且埠樹完全是最新的,所有已安裝的軟體包也是如此。
據介紹
/usr/ports/UPDATING:20150301
,目前 Ruby 的預設版本是 2.1。如果你想使用 2.2 作為預設值,你應該更新DEFAULT_VERSIONS
旋鈕/etc/make.conf
:DEFAULT_VERSIONS+=ruby=2.2
然後您將需要重新安裝 Ruby 2.2 以確保您使用預期的名稱(即沒有版本後綴)安裝了二進製文件和腳本。