错误,而gem安装在Ubuntu 12.04 aws ec2

我在aws EC2中获得了Ubuntu 12.04。
我只是想安装导轨。
但是它显示了这个错误信息。
这是由gem env和sudo gem env之间的区别引起的吗?
有没有什么办法来解决这个问题,除了rvm内爆?
使用rvmsudo的风险是什么?

Fetching: atomic-1.1.15.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/local/rvm/gems/ruby-1.9.3-p545@global directory. 

gem环境:

 RubyGems Environment: - RUBYGEMS VERSION: 2.2.2 - RUBY VERSION: 1.9.3 (2014-02-24 patchlevel 545) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p545@global - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.3-p545/bin/ruby - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p545@global/bin - SPEC CACHE DIRECTORY: /home/ubuntu/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/local/rvm/gems/ruby-1.9.3-p545@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - "gem" => "--no-ri --no-rdoc" - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /usr/local/rvm/gems/ruby-1.9.3-p545@global/bin - /usr/local/rvm/rubies/ruby-1.9.3-p545/bin - /usr/local/sbin - /usr/local/bin - /usr/sbin - /usr/bin - /sbin - /bin - /usr/games - /usr/local/rvm/bin 

sudo gem env:

 RubyGems Environment: - RUBYGEMS VERSION: 1.8.15 - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] - INSTALLATION DIRECTORY: /var/lib/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /usr/local/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /var/lib/gems/1.8 - /home/ubuntu/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - "gem" => "--no-ri --no-rdoc" - REMOTE SOURCES: - http://rubygems.org/ 

这是由gem env和sudo gem env之间的区别引起的吗?

rvm Ruby与Ruby系统是分开的,不同的。

但是,它看起来像是作为不同的用户运行rvm Ruby gem install作为/usr/local/rvm/gems的所有者及其子目录。

你运行rvm gem install的用户是什么?

你可以试试这个:

 chown -R user-you-want-to-run-command-as.user-you-want-to-run-command-as /usr/local/rvm/gems 

或者也尝试像你提到rvmsudo 。 如果你想要更安全的话,那里的一些文件可能拥有你所不需要的所有权。

rvm被使用没有sudo或具体/ sudo权利。 重装会更赞赏。 清理当前的rvm安装rvmsudo rvm implode sudo rm -rf /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm ,然后关闭所有控制台/ bashes /终端并再次登录到您想要的用户使用rvm并重新安装。