RVM gem权限错误

Mit*_*ops 5 ruby linux ruby-on-rails rvm

我开始尝试设置本地rails安装进行开发.apt-get然而,在我安装使用之后,我了解了RVM,因此我删除了之前的RVM,并从RVM重新安装.不过,看起来我有遗留问题.具体来说,当我尝试安装rails时,我得到...

$ gem install rails
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.9.1 directory.
Run Code Online (Sandbox Code Playgroud)

这已经看起来像一个问题,因为我不希望它在/ var /目录中,我希望它在用户目录中.所以,我检查以下内容......

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.11
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/myusername/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

和sudo一样:

$ sudo gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.11
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/myusername/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

出于某种原因,宝石似乎住在/ var/lib中.这是正常的吗?我该如何解决这个问题,以便安装rails gem?

编辑:更新!

在我看来,我已经安装了两次宝石,一次在/var/lib/gems/1.9.91(坏),一次在/home/myusername/.gem/ruby/1.9.1(好).

我想这里发生的是当我输入"gem"时,/ var/lib/gems/1.9.1(bad)中的安装优先于/home/myusername/.gem/ruby/1.9.1(好) .任何人都可以证实吗?它是否可以修复只是为了删除错误的目录,或者会导致问题?

mpa*_*pis 7

你错过了使用红宝石,你可以用:

rvm use 1.9.3 --install
Run Code Online (Sandbox Code Playgroud)

如果没有安装1.9.3,这个命令也会安装它!

它看起来你正在使用Ubuntu,确保你没有使用Ubuntu包中的RVM - 那件事情已经破了!您可以在此处找到如何解决问题的说明:https://stackoverflow.com/a/9056395/497756