簡體   English   中英

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

[英]How do I change the default Rails version that gets used?

回答(其他菜鳥應該讀一下我所做的事情):感謝那些回答,但是我想我知道為什么它仍然早先默認為系統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 /或附近某處...不完全確定在哪里,而且我不知道該怎么做。 救命?

看起來您正在使用的系統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或較新的beta,但您可以嘗試使用rails -v進行查找。 如果沒有, rails _4.2.0.beta1_ new myapp應該可以工作。

在線Hartl教程使用4.2.0beta1

這是我所看到的:

安裝滑軌

安裝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的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM