2014-09-27 127 views
-1

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

我认为错误是只是我还没有开始一个新的shell会话,所以它默认为轨道位置时,会议开始它有,这是该系统的红宝石。愚蠢的错误。等等。

原贴: 这些都是我rbenv版本

,这是我所得到的,当我运行

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 

的哈特尔在线教程使用4.2.0beta1,所以我想用那个,但是当我尝试做一个新的rails项目时,它默认为4.1.1。从这个

有人提出了一种方法来改变默认的轨道版本,但该命令会在错误的位置。看到这里

[email protected]:~/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>' 

我还远没有知识渊博,我想是的,但我可以看到,“轨”是默认为usr/lib中/斌/导轨和我需要将其重新路由到〜/ .rbenv/versions/2.1.2/lib /或者其他地方......不完全确定在哪里,我不知道如何去做到这一点。帮帮我?

+0

也许这个答案将帮助您: http://stackoverflow.com/a/23432414/2173804 – sweo 2014-09-27 20:15:52

+0

如果您还没有做太多的老项目中创建你想要的版本,新的轨道项目。当你创建你的rails应用程序时,它是用4.1.1创建的,它引用了相应的gem版本。您不能使用不同版本的导轨来启动该应用程序,因为它们的版本不同。 – brahmana 2014-09-27 20:53:14

回答

0

的哈特尔在线教程使用4.2.0beta1

这是我所看到的:

安装Rails

一旦你安装了RubyGems,安装导轨应简单。这 教程on 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的版本。

1

它看起来像你正在使用你的系统的红宝石v1.9.1的这是不是与轨道4在所有兼容(Rails的4需要1.9.3或更高版本)。

因此,首先您需要使用rbenv global 2.1.2来设置您的ruby版本,以便将其设置为全系统范围,或者如果您只是想为此项目设置它,则需要rbenv local 2.1.2。我不确定您的系统是否会默认使用rails-4.1.1或较新的beta版,但您可以尝试rails -v以查明。如果没有,rails _4.2.0.beta1_ new myapp应该工作。