首页
学习
活动
专区
圈层
工具
发布

使用
EN

Stack Overflow用户
提问于 2014-02-12 14:50:17
回答 3查看 5.4K关注 0票数 1

嗨,我是刚认识红宝石的rails。

我已经在我的mac上安装了rvm

默认的红宝石是1.8.7

代码语言:javascript
复制
$ 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

当我尝试使用ruby2.1.0时,我猜rails加载失败了

代码语言:javascript
复制
$ 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

我不知道该怎么解决

以下是所知的rvm列表

代码语言:javascript
复制
$ 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信息

rvm信息

代码语言:javascript
复制
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:       ""
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-12 14:57:20

看起来您已经在global gemset中安装了rails。你能做的是:

  1. global宝石组中移除rails。
  2. 然后将Rails安装在单独的gemset中。但是,据我所知,Rails 2.3.18与Ruby2.1.0不兼容。

以下是如何做到这一点的或多或少准确的例子:

代码语言:javascript
复制
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

为了有效地使用RVM,您需要查阅gemset文档.1

就这样!

更新.我相信您已经在sudo命令下安装了RVM。为了解决这个问题,请执行以下步骤:

代码语言:javascript
复制
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

为了避免权限问题,我强烈建议您在安装gems时不要使用sudo

票数 2
EN

Stack Overflow用户

发布于 2014-02-12 15:32:30

  • 重新启动终端/控制台
  • 去你的项目地点
  • 运行rvm use ruby-2.1.0 --default

现在,它将通过运行rvm list显示当前的rvm。

然后,将显示所有已安装的rvm版本以及当前选择的带有*符号的版本。

票数 0
EN

Stack Overflow用户

发布于 2014-02-12 16:12:28

运行以下命令:

代码语言:javascript
复制
sudo gem install rails
bundle install
rails s
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21731252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档