创建新的Ruby on Rails 3.0项目时出错

时间:2014-11-01 14:49:57

标签: ruby-on-rails ruby ruby-on-rails-3

我'试图用Ruby on Rails完成我的第一步。我正在使用Ubuntu 14.04。正如网站所建议的,我已经安装了rvm来管理我的Ruby安装和gem集。 我使用的命令是

rvm install ruby-1.9.2-p320
rvm use --default 1.9.2-p320
gem install rails -v 3.0

目前,这是安装的情况

<01/nov 15:25> [Ruby_On_Rails]$ rvm list
rvm rubies

=* ruby-1.9.2-p320 [ x86_64 ]
ruby-1.9.3-p547 [ x86_64 ]
ruby-2.1.2 [ x86_64 ]
ruby-head [ x86_64 ]

# => - current
# =* - current && default
#  * - default

这里是宝石集列表

<01/nov 15:28> [Ruby_On_Rails]$ rvm gemset list

gemsets for ruby-1.9.2-p320 (found in /home/lorenzo/.rvm/gems/ruby-1.9.2-p320)
=> (default)
global

最后,这里是宝石列表

<01/nov 15:30> [Ruby_On_Rails]$ gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.0)
actionpack (3.0.0)
activemodel (3.0.0)
activerecord (3.0.0)
activeresource (3.0.0)
activesupport (3.0.0)
arel (1.0.1)
builder (2.1.2)
bundler (1.7.4, 1.0.22)
bundler-unload (1.0.2)
erubis (2.6.6)
executable-hooks (1.3.2)
gem-wrappers (1.2.7)
i18n (0.7.0.beta1, 0.4.2)
json (1.8.1)
mail (2.2.20)
mime-types (1.25.1)
minitest (5.4.2, 1.6.0)
polyglot (0.3.5)
rack (1.2.8)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.0)
railties (3.0.0)
rake (0.8.7)
rdoc (2.5.8)
rubygems-bundler (1.4.4)
rvm (1.11.3.9)
thor (0.14.6)
thread_safe (0.3.4)
treetop (1.4.15)
tzinfo (1.2.2, 0.3.42)

当我尝试启动rails new时,它会给我一个错误,因为其中一个ruby gem与rails 3.0冲突

<01/nov 15:22> [Ruby_On_Rails]$ rails --version
/home/lorenzo/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:2064:in `raise_if_conflicts': Unable to activate rails-3.0.0, because bundler-1.7.4 conflicts with bundler (~> 1.0.0) (Gem::LoadError)
    from /home/lorenzo/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1262:in `activate'
    from /home/lorenzo/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:54:in `gem'
    from /home/lorenzo/.rvm/gems/ruby-1.9.2-p320/bin/rails:22:in `<main>'
    from /home/lorenzo/.rvm/gems/ruby-1.9.2-p320/bin/ruby_executable_hooks:15:in `eval'
    from /home/lorenzo/.rvm/gems/ruby-1.9.2-p320/bin/ruby_executable_hooks:15:in `<main>'

事实上,我有两个版本的bundler。我不是专家,但我认为&#34; bundler(〜&gt; 1.0.0)&#34;是捆绑器1.0.x,所以它给我带来了问题,因为版本太新了#34;对于铁轨。现在我想明白&#34;正确&#34;采取行动以形成连贯的局面。我应该卸载bundler 1.7.2吗? ruby 1.9.2和rails 3.0不兼容吗?

主要的问题是我是Ruby的新手,所以也许我在命令的输出中没有看到任何可见的东西。我试过谷歌一点,但我发现了什么,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

尝试:

gem uninstall bundler
gem install bundler --version '1.0.0'

然后:

bundle

P.S

我完全赞同@meagar,除非你被迫使用遗留代码,否则你应该继续使用更新版本的rails ...你会错过很多乐趣!