如何更改使用的默认Rails版本?

时间:2014-09-27 19:29:05

标签: ruby-on-rails ruby linux

ANSWERED(其他新手应该读我做的): 感谢那些回答的人,但我想我知道为什么它早些时候仍然默认为系统ruby。我启动了一个shell会话并安装了rbenv,然后为rbenv安装了ruby-build,然后安装了ruby 2.1.2并运行了rbenv global 2.1.2然后我安装了新版本的rails并尝试创建一个新的rails项目。

我认为错误只是因为我没有启动一个新的shell会话,因此它默认为会话启动时的rails位置,这与系统ruby有关。愚蠢的错误。等等。

原始邮寄: 这些是我的rbenv版本

  system
* 2.1.2 (set by /home/ab/.rbenv/version)

这就是我跑步时得到的

gem list -d rails
rails (4.2.0.beta1, 4.1.1)
    Author: David Heinemeier Hansson
    Homepage: http://www.rubyonrails.org
    License: MIT
    Installed at (4.2.0.beta1): /home/ab/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0
                 (4.1.1): /home/ab/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0

Hartl教程在线使用4.2.0beta1,所以我想使用它,但是当我尝试创建一个新的rails项目时,它默认为4.1.1。

有人提出了改变默认rails版本的方法,但该命令看起来位置错误。见这里

ab@abpc:~/Code/RailsTutorial$ rails _4.2.0beta1_ -v
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (= 4.2.0beta1) amongst [actionmailer-4.1.1, actionpack-4.1.1, actionview-4.1.1, activemodel-4.1.1, activerecord-4.1.1, activesupport-4.1.1, arel-5.0.1.20140414130214, builder-3.2.2, bundler-1.3.5, coffee-rails-4.0.1, coffee-script-2.2.0, coffee-script-source-1.7.0, diff-lcs-1.2.5, erubis-2.7.0, execjs-2.1.0, hike-1.2.3, i18n-0.6.9, jbuilder-2.0.7, jquery-rails-3.1.0, json-1.8.1, libv8-3.16.14.3-x86_64-linux, mail-2.5.4, mime-types-1.25.1, mini_portile-0.6.0, minitest-5.3.4, multi_json-1.10.1, net-http-persistent-2.9, nokogiri-1.6.2.1, polyglot-0.3.5, rack-1.5.2, rack-protection-1.5.3, rack-test-0.6.2, rails-4.1.1, railties-4.1.1, rake-10.3.2, rdoc-4.1.1, rdoc-3.9.4, ref-1.0.5, rspec-2.14.1, rspec-core-2.14.8, rspec-expectations-2.14.5, rspec-mocks-2.14.6, rspec-rails-2.14.2, sass-3.2.19, sass-rails-4.0.3, sdoc-0.4.0, sinatra-1.4.5, spring-1.1.3, sprockets-2.11.0, sprockets-rails-2.1.3, sqlite3-1.3.9, therubyracer-0.12.1, thor-0.19.1, thor-0.18.1.20140116, thread_safe-0.3.4, tilt-1.4.1, treetop-1.4.15, turbolinks-2.2.2, tzinfo-1.2.0, uglifier-2.5.0, webrat-0.7.3] (Gem::LoadError)
        from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
        from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in `gem'
        from /usr/local/bin/rails:22:in `<main>'

我仍然远没有像我想的那样知识渊博,但我可以看到“rails”默认为usr / lib / bin / rails,我需要将它重新路由到〜/ .rbenv / versions /2.1.2/lib/或那里的某个地方......不完全确定在哪里,我不知道如何做到这一点。帮助

2 个答案:

答案 0 :(得分:1)

看起来您使用的系统ruby v1.9.1根本不兼容rails 4(Rails 4需要1.9.3或更高版本)。

首先,您需要使用rbenv global 2.1.2设置ruby版本以在系统范围内设置它,或者如果您只是想要此项目,则需要rbenv local 2.1.2。我不确定您的系统是否会默认为rails-4.1.1或更新的测试版,但您可以尝试rails -v查找。如果没有,rails _4.2.0.beta1_ new myapp应该有效。

答案 1 :(得分:0)

  

Hartl教程在线使用4.2.0beta1

以下是我所看到的:

  

安装Rails

     

一旦安装了RubyGems,安装Rails应该很容易。这个   教程标准化了Rails 4.0,我们可以按如下方式安装:

$ gem install rails --version 4.0.8

...

  

但是当我尝试创建一个新的rails项目时,默认为4.1.1。

的Gemfile:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=sample_app2_gems

gem 'rails', '4.0.8'

...

设置要在Gemfile中使用的rails版本。