42

OS는 우분투 12.04, 64 비트입니다.ruby.railstutorial.org 당 레일 4로 업그레이드 한 후 레일 티를로드 할 수 없습니다.

레일 직판. 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로 이동 한 후 레일스 명령을 실행할 때 다음과 같은 오류가 발생합니다. 예 여기 레일 서버

[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 루비 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'과에 루비 버전을 변경 :

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

지금은 가 레일 명령으로 오류를 railtie로드 할 수 없습니다 얻고있다. Rails: Could not find railties에서

, 나는 시도 여전히 오류

$ 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) 
을 받고

$ 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 

다음

여전히 (장 하나의 튜토리얼에서 원래 설정을 통해 다시가는 오류

을 받고 이제 루비 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에는 두 가지 옵션이 있습니다.ActiveResource를 사용하지 않으려한다면 (레일스를 처음 사용하고 자습서를 작성하는 경우에 해당된다고 가정 할 것입니다) 그러면 프레임 워크로 가져 오는 레일 티를 제거하거나 주석 처리 할 수 ​​있습니다. 'config/application.rb'을 열고 일곱 번째 줄을 주석으로 처리하십시오.

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에 'activeresource'를 추가하십시오. –

+0

Whoa, Thanks. 나는 비슷한 욥기를 제외하고는 문제가 있었다 : 'gem 'activejob', '4.2.0''gemfile에 추가 된 문제 ... –

3

'activeresource은'레일 내가 같은 오류가 있었다 4

0

는 별도의 보석으로 사용할 수 있습니다. 내가 만든 내용은 다음과 같습니다. in Gemfile 레일 버전이 변경되었습니다. gem 'rails', '4.2.0' 그런 다음 명령 행에서 다음 명령을 실행하십시오 : bundle install. CLI에서 사용 가능한 발전기를 확인하려면 rails g 또는 rails generate을 입력하십시오.