[英]RubyGems installation errors both when using 'sudo' and not using sudo
我有一台運行Ubuntu Hardy的機器,它提供了自己的RubyGems包。 不幸的是,RubyGems(1.1.1)的版本太舊了,無法做任何有用的事情,所以我決定手動將RubyGems更新到當前版本(1.3.6)。 那部分進展順利,如果我做gem -v
,我得到1.3.6
這是預期的。 問題是當我嘗試做: sudo gem install rack
,它返回此錯誤:
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem
通常當我以root身份安裝gem時,它知道將它安裝到/usr/lib/ruby/gems
,那為什么要檢查我的主目錄呢? 另一個怪癖是當我做gem install rack
(而不是root)時,它說:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
這是我想去的地方。 我已經嘗試清除source_caches,嘗試使用不同版本的RubyGems(1.3.5),強制使用-i
安裝到/usr/lib
無濟於事。 關於為什么RubyGems在以root身份安裝時如此堅持檢查我的/home
目錄的任何想法?
聽起來它可能是一個路徑問題,加上安裝了多個版本。
輸出之間的任何差異:
sudo gem env
和
gem env
我在Fedora 15上遇到了同樣的問題,所以我使用'--backtrace'選項運行'gem install'以查看發生了什么。
事實證明它在/usr/lib/ruby/site_ruby/1.8/rubygems/doc_manager.rb:203失敗了,它試圖將chdir發送到它之前存儲的目錄(我運行sudo的用戶的主目錄)
我沒有進行廣泛的調試,看看底層原因是什么,只是使用了快速的解決方法,所以我可以繼續前進。 解決方法只是在運行gem install命令之前cd到根目錄,例如cd / 。
希望這有助於/解決您的問題。
會更容易su(密碼)然后chmod 755 /usr/lib/ruby/gems/1.8
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.