來源安裝的路徑問題

來源安裝的路徑問題

我希望我的標題不會令人困惑。我有一台 CentOS 5 機器,並且安裝了 Ruby 1.8.7。所以為了升級我的 Ruby 安裝和 gems/rails 我

  • 卸載的紅寶石:sudo yum 刪除紅寶石

  • 下載最新的穩定版本的 ruby​​ 並解壓縮它:wget...&& tar -zxf ....

  • 經歷了通常的安裝:

    • ./configure --prefix=$HOME
    • 製作
    • 須藤進行安裝
  • 下載的紅寶石:得到....

  • 運行安裝文件: 紅寶石設定.rb

現在我的問題是,如果我嘗試安裝 Rails,我可以輸入以下命令來安裝:寶石安裝導軌,我收到以下訊息:“-bash:/ usr / local / bin / gem:/ usr / local / bin / ruby​​:錯誤的解釋器:權限被拒絕”

所以(對我來說)下一個合乎邏輯的舉動是輸入:sudo gem 安裝rails,但這會返回“sudo:gem:找不到指令”,這意味著我徹底搞砸了一些事情。

只是添加一些更多信息

紅寶石在哪裡紅寶石: /usr/lib/ruby /usr/lib64/ruby /usr/local/bin/ruby /usr/local/lib/ruby

哪個紅寶石: 〜/ bin /紅寶石

我在想,透過從原始程式碼手動安裝 ruby​​,我搞砸了一些東西,也許 --prefix=$HOME 是這裡的罪魁禍首?

答案1

您似乎沒有卸載提供gem可執行檔的包,因此它仍在 中/usr/local/bin/,並指向不再存在的/usr/local/bin/ruby解釋器。

您可以卸載該軟體包(推薦,因為您還刪除了它所依賴的 ruby​​ 軟體包),或者只是確保~/bin/usr/local/binPATH. (或者,如果您具有 root 存取權限,則可以重新執行./configure腳本而不指定--prefix=${HOME},並讓它安裝在 中/usr/local/bin,這是 Ruby 的預設設定。)

一旦您安排好一切,以便您的 shell 找到gem安裝在 中的可執行文件~/bin,您應該能夠簡單地gem install rails不需要sudo. (或者,如果您將 root 安裝到/usr/local/bin,請確保gem位於/usr/local/bin/gem,然後運行sudo gem install rails,就像您之前嘗試過的那樣)。

可能更好的方法是看看rvm或者rbenv,這兩者都使得管理多個紅寶石成為一項相當輕鬆的任務。使用這些工具中的任何一個,您都可以安裝多個版本的 ruby​​,而無需刪除系統範圍內的版本,而係統上的其他軟體包可能需要刪除該版本。

相關內容