42

OSはUbuntu 12.04,64ビットです。ruby​​.railstutorial.orgごとにレール4にアップグレードした後にレールティをロードできません

レールtoレール。 Rubyには比較的新しい。 ruby.railstutorial.orgチュートリアルの第3章に従います。

このチュートリアルは、ruby 2.0.0とRails 4.0.0.rc1を使用するように更新されました。以前は、gemfileはRails 3.2.13を指定していましたが、Rubyのバージョンは指定していませんでした。チュートリアルのRuby 2.0.0とRails 4.0.0.rc1の最新のGemfileに移動した後、railsコマンドを実行するときに次のエラーが発生します。ここでの例は、レールサーバが

[email protected]:~/bin/railslearn/sample_app$ rails server 
/home/paul/bin/railslearn/sample_app/config/application.rb:7:in `require': cannot load such file -- active_resource/railtie (LoadError) 
    from /home/paul/bin/railslearn/sample_app/config/application.rb:7:in `<top (required)>' 
    from /home/paul/.rvm/gems/[email protected]_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `require' 
    from /home/paul/.rvm/gems/[email protected]_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `block in <top (required)>' 
    from /home/paul/.rvm/gems/[email protected]_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:75:in `tap' 
    from /home/paul/.rvm/gems/[email protected]_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:75:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

である私は以下のとおり、Rails: Could not find railtiesからいくつかのアイデアを取得しましたが、まだ修正が見つかっていません。

ここに詳細があります。

昨日(私のブラウザで)第3章のGemfileは以下の通りです。すべてうまくいった。

$ cat Gemfile 
source 'https://rubygems.org' 

gem 'rails', '3.2.13' 
gem 'bootstrap-sass', '2.1' 
gem 'bcrypt-ruby', '3.0.1' 
gem 'faker', '1.0.1' 
gem 'will_paginate', '3.0.3' 
gem 'bootstrap-will_paginate', '0.0.6' 
gem 'jquery-rails', '2.0.2' 

group :development, :test do 
    gem 'sqlite3', '1.3.5' 
    gem 'rspec-rails', '2.11.0' 
    # gem 'guard-rspec', '1.2.1' 
    # gem 'guard-spork', '1.2.0' 
    # gem 'childprocess', '0.3.6' 
    # gem 'spork', '0.9.2' 
end 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '3.2.5' 
    gem 'coffee-rails', '3.2.2' 
    gem 'uglifier', '1.2.3' 
end 

group :test do 
    gem 'capybara', '1.1.2' 
    gem 'factory_girl_rails', '4.1.0' 
    gem 'cucumber-rails', '1.2.1', :require => false 
    gem 'database_cleaner', '0.7.0' 
    # gem 'launchy', '2.1.0' 
    # gem 'rb-fsevent', '0.9.1', :require => false 
    # gem 'growl', '1.0.3' 
end 

group :production do 
    gem 'pg', '0.12.2' 
end 

今朝のチュートリアルのGemfilesは、ruby 2.0.0と4.0.0.rc1を使用しています。私はこの設定を有効にしたいので、私は更新されたチュートリアルと矛盾していません。新しいGemfileは以下の通りです。

$ cat Gemfile 
source 'https://rubygems.org' 
ruby '2.0.0' 

gem 'rails', '4.0.0.rc1' 

group :development, :test do 
    gem 'sqlite3', '1.3.7' 
    gem 'rspec-rails', '2.13.1' 
end 

group :test do 
    gem 'selenium-webdriver', '2.0.0' 
    gem 'capybara', '2.1.0' 
end 

gem 'sass-rails', '4.0.0.rc1' 
gem 'uglifier', '2.1.1' 
gem 'coffee-rails', '4.0.0' 
gem 'jquery-rails', '2.2.1' 
gem 'turbolinks', '1.1.1' 
gem 'jbuilder', '1.0.2' 

group :doc do 
    gem 'sdoc', '0.3.20', require: false 
end 

group :production do 
    gem 'pg', '0.15.1' 
end 

まず私はそれは私が実行していたものですので、「1.9.2」をルビーためにGemfileにルビーのバージョンを変更し、私はバンドルアップデートでエラーが発生したと思います。私はメモを取っていませんでした。

はその後Gemfileに戻って「2.0.0」にRubyのバージョンを変更して:

$ rvm install 2.0.0 
$ rvm use 2.0.0 --default 
$ bundle update 
$ bundle install 

は、今私はがレールコマンドでrailtieエラーをロードすることはできません取得しています。 Rails: Could not find railtiesから

、私は次の

$ gem uninstall railties 

Select gem to uninstall: 
1. railties-4.0.0.rc1 
2. railties-3.2.13 
3. All versions 
> 2 

You have requested to uninstall the gem: 
    railties-3.2.13 

rails-3.2.13 depends on railties (= 3.2.13) 
If you remove this gem, these dependencies will not be met. 
Y # uninstall railties-3.2.13 

はまだ

$ gem uninstall rails # to uninstall rails-3.2.13 
$ gem uninstall railties # to also uninstall railties-4.0.0.rc1 
$ rvm reinstall 2.0.0 
$ rvm 2.0.0 --default 
$ bundle update # using the Gemfile with ruby 2, rails 4 
$ bundle install 

$ gem list | grep rail 
coffee-rails (4.0.0) 
jquery-rails (2.2.1) 
rails (4.0.0.rc1) 
railties (4.0.0.rc1) 
rspec-rails (2.13.1) 
sass-rails (4.0.0.rc1) 
sprockets-rails (2.0.0.rc4) 

はまだ

は、第一章(中のチュートリアルから元のセットアップから戻ってエラーを取得エラーを取得しようとしましたルビー2、レール4用に更新されました。)

$ rvm use [email protected]_rails_4_0 --create --default 
$ gem update --system 2.0.0 
$ gem install rails --version 4.0.0.rc1 --no-ri --no-rdoc 
$ bundle update # using Gemfile with ruby 2, rails 4 
$ bundle install 

はまだエラーに

UGを取得します!

アイデア?

答えて

65

ActiveResourceは、Railsサイトが相互に「話す」ことができるようにXML(およびそれ以降のJSON)APIをサポートするためにRails 2.xに追加されたAPIでした。 RESTfulなAPIのアイデアがフレームワークに組み込まれたとき、非常に熱心な話題でした。時間が経つと、それはもっと新しくなり、まれにしか維持されないようになり、Rails 4.xのコアから取り除かれました。

Rails 4.xでは2つのオプションがあります。あなたはActiveResourceを使用することを意図していないならば、あなたは、単に削除またはフレームワークにそれを引っ張っていますrailtieをコメントアウトすることができます(私はあなたがレールに新しいしているとチュートリアルで作業する場合は、このような場合は想定すると思います)。 'config/application.rb'を開き、7行目をコメントアウトしてください。

require File.expand_path('../boot', __FILE__) 

# Pick the frameworks you want: 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
# require "active_resource/railtie" <--- comment out this line 

ActiveResourceを使用したい場合は、プロジェクトのGemfileに追加するだけです。以前は、それは依存関係としてレールの宝石に含まれていました。これを使用したい場合は明示的に追加する必要があります。

+6

クール、ちょうどGemfile –

+0

おっと、おかげで宝石 'activeresource' を追加します。私はそれがactivejobだった以外、同様の問題があった: '宝石「activejob」、「4.2.0''はそれを解決しgemfileに追加しました... –

3

'activeresourceは、' 私は同じエラーを持っていたRailsの4

0

とは別の宝石として利用可能です。私が作ったもの は次のとおりです。gem 'rails', '4.2.0'は 次に、コマンドラインで次のコマンドを実行:bundle install Gemfileで 私はレールのバージョンを変更しました。 私たちに利用できる発電機は、CLI上rails gまたはrails generateを入力するかを確認します。