简体   繁体   English

红宝石在轨道上使用rvm

[英]ruby on rails rvm use

Hi i am new to ruby on rails 嗨,我是红宝石新手

I have install the rvm on my mac 我已经在Mac上安装了rvm

The default ruby is 1.8.7 默认的红宝石是1.8.7

$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
$ rails -v
Rails 2.3.18
$ gem -v
2.2.2

When i try to use ruby 2.1.0 the rails i guess failed to load 当我尝试使用ruby 2.1.0时,我猜导轨无法加载

$ rvm use 2.1.0
Using /usr/local/rvm/gems/ruby-2.1.0
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin10.0]
$ rails -v
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'railties' (>= 0) among 14 total gem(s) (Gem::LoadError)
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
    from /usr/local/rvm/rubies/ruby-2.1.0/bin/rails:22:in `<main>'
$ gem -v
2.2.2

and i dont know how to solve it 我不知道如何解决

here is the rvm list know 这是RVM列表知道

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p484]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p353]
[ruby-]2.1.0
[ruby-]2.1-head
ruby-head

# GoRuby
goruby

# Topaz
topaz

# TheCodeShop - MRI experimental patches
tcs

# jamesgolick - All around gangster
jamesgolick

# Minimalistic ruby implementation - ISO 30170:2012
mruby[-head]

# JRuby
jruby-1.6.8
jruby-1.7.6
jruby-1.7.9
jruby[-1.7.10]
jruby-head

# Rubinius
rbx-2.0.0
rbx-2.1.1
rbx[-2.2.4]
rbx-head

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Kiji
kiji

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# Opal
opal

# IronRuby
ironruby[-1.1.3]
ironruby-head

rvm info rvm信息

rvm info rvm信息

ruby-2.1.0:

  rvm:
    version:      "rvm 1.25.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "2 days 6 hours 43 minutes 42 seconds ago"
    path:         "/usr/local/rvm"

  ruby:
    interpreter:  "ruby"
    version:      "2.1.0p0"
    date:         "2013-12-25"
    platform:     "x86_64-darwin10.0"
    patchlevel:   "2013-12-25 revision 44422"
    full_version: "ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin10.0]"

  homes:
    gem:          "/usr/local/rvm/gems/ruby-2.1.0"
    ruby:         "/usr/local/rvm/rubies/ruby-2.1.0"

  binaries:
    ruby:         "/usr/local/rvm/rubies/ruby-2.1.0/bin/ruby"
    irb:          "/usr/local/rvm/rubies/ruby-2.1.0/bin/irb"
    gem:          "/usr/local/rvm/rubies/ruby-2.1.0/bin/gem"
    rake:         "/usr/local/rvm/rubies/ruby-2.1.0/bin/rake"

  environment:
    PATH:         "/usr/local/rvm/gems/ruby-2.1.0/bin:/usr/local/rvm/gems/ruby-2.1.0@global/bin:/usr/local/rvm/rubies/ruby-2.1.0/bin:/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
    GEM_HOME:     "/usr/local/rvm/gems/ruby-2.1.0"
    GEM_PATH:     "/usr/local/rvm/gems/ruby-2.1.0:/usr/local/rvm/gems/ruby-2.1.0@global"
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-2.1.0"
    IRBRC:        "/usr/local/rvm/rubies/ruby-2.1.0/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

Looks like you have rails installed in global gemset. 看起来您已在global gemset中安装了滑轨。 What you can do is: 您可以做的是:

  1. Remove rails from global gemset. global gemset移除导轨。
  2. Then install Rails in a separate gemset. 然后将Rails安装在单独的gemset中。 But, as far as I know, Rails 2.3.18 is not compatible with Ruby 2.1.0. 但是,据我所知,Rails 2.3.18与Ruby 2.1.0不兼容。

Here's more or less accurate example of how to do it: 下面或多或少地提供了有关如何执行此操作的示例:

rvm use 2.1.0@global         # switching to global gemset
gem uninstall rails          # removing rails gem
rvm use 2.1.0@rails --create # creating a separate gemset for rails
gem install rails            # installing rails

In order to use RVM effectively, you need to consult [gemsets documentation]. 为了有效地使用RVM,您需要参考[gemsets文档]。 1 1

That's it! 而已!

Update . 更新 I believe you've installed RVM under sudo command. 我相信您已经在sudo命令下安装了RVM。 In order to fix this follow these steps: 为了解决此问题,请按照下列步骤操作:

rvm implode                             # remove RVM
\curl -sSL https://get.rvm.io | bash    # install it again
rvm install 2.1.0                       # install Ruby 2.1.0
rvm use 2.1.0@rails --create --default  # create default gemset for Rails
gem install rails                       # install Rails itself

In order to avoid problems with permissions, I strongly suggest you not to use sudo during installation of gems. 为了避免权限问题,强烈建议您在安装gem时不要使用sudo

  • Restart Terminal/Console 重新启动终端/控制台
  • Go to your project location 转到您的项目位置
  • Run rvm use ruby-2.1.0 --default 运行rvm use ruby-2.1.0 --default

Now, it will show the current rvm by running rvm list 现在,它将通过运行rvm list显示当前的rvm

Then, all the installed rvm versions will be shown along with the currently selected one with a * symbol. 然后,将显示所有已安装的rvm版本以及带有*符号的当前选择的版本。

Run following command: 运行以下命令:

sudo gem install rails
bundle install
rails s

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM