[英]RubyGems installation errors both when using 'sudo' and not using sudo
[英]Rubygems permission problem when using sudo
我使用sudo
來安裝 gems 並更新 rubygems 本身,但這會導致/usr/lib/ruby/gems/1.8/gems
中的所有新文件都歸root:root
擁有,權限為750
這反過來會導致大多數寶石無法加載。
例如,我最近更新了 rubygems 如果我嘗試gem env
我得到:
/usr/local/lib/site_ruby/1.8/rubygems/specification.rb:512:in `read': Permission denied - /usr/lib/ruby/gems/1.8/specifications/rubygems-update-1.6.2.gemspec (Errno::EACCES) from /usr/local/lib/site_ruby/1.8/rubygems/specification.rb:512:in `load' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:116:in `load_gems_in' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:115:in `each' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:115:in `load_gems_in' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:112:in `reverse_each' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:112:in `load_gems_in' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:309:in `refresh!' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:67:in `from_gems_in' from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:47:in `from_installed_gems' from /usr/local/lib/site_ruby/1.8/rubygems.rb:1025:in `source_index' from /usr/local/lib/site_ruby/1.8/rubygems/gem_path_searcher.rb:135:in `init_gemspecs' from /usr/local/lib/site_ruby/1.8/rubygems/gem_path_searcher.rb:14:in `initialize' from /usr/local/lib/site_ruby/1.8/rubygems.rb:984:in `new' from /usr/local/lib/site_ruby/1.8/rubygems.rb:984:in `searcher' from /usr/local/lib/site_ruby/1.8/rubygems.rb:206:in `try_activate' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:57:in `require' from /usr/local/lib/site_ruby/1.8/rubygems/config_file.rb:55 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/local/lib/site_ruby/1.8/rubygems/gem_runner.rb:8 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/bin/gem:9
當前的解決方法是將所有文件chmod
以供所有人閱讀,但這真的很煩人。
一些服務器數據:
uname -a
給出
Linux HomeBox 2.6.35 28-server #49-Ubuntu SMP Tue Mar 1 14:55:37 UTC 2011 x86_64 GNU/Linux
sudo gem env
給出
RubyGems Environment: - RUBYGEMS VERSION: 1.6.2 - RUBY VERSION: 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/lib/ruby/gems/1.8 - /home/nicklas/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
ruby -v
給出
ruby 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux]
我很樂意提供有關該問題的更多信息。
我剛剛清理了所有 ruby 和 rubygems 的東西並重新安裝了它。 同樣的問題。
我也在家里使用 Ubuntu ,在使用 apt 安裝出現許多問題后,我發現了RVM 。
RVM 安裝起來超級簡單,讓您快速輕松地啟動和運行。 但是一旦您開始使用它一段時間,您會發現它優於任何 OS package 系統,因為它具有允許您:
rvm use 1.9.2
或rvm use jruby-1.6.2
並且我的路徑會自動切換並且一切正常。我的建議是卸載本機 ruby package,然后安裝 RVM。 你會很高興你做到了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.