42

Il sistema operativo è Ubuntu 12.04, 64 bit.non può caricare railtie dopo l'aggiornamento alle guide 4 per ruby.railstutorial.org

Nuovo per binari. Relativamente nuovo a Ruby. Seguendo il tutorial su ruby.railstutorial.org, capitolo 3.

Il tutorial è stato aggiornato per utilizzare Ruby 2.0.0 e Rails 4.0.0.rc1. Precedentemente il gemfile stava specificando Rails 3.2.13 e non specificando la versione di Ruby. Dopo aver spostato l'ultimo Gemfile nel tutorial, ruby ​​2.0.0 e Rails 4.0.0.rc1, ricevo il seguente errore durante l'esecuzione dei comandi rails. Esempio qui è guide del server

[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>' 

ho fatto avere alcune idee da Rails: Could not find railties, riportate qui di seguito, ma non hanno ancora trovato una soluzione.

Ecco i dettagli.

Ieri (nel mio browser) il Gemfile per il capitolo 3 era il seguente. Tutto ha funzionato bene.

$ 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 

Questa mattina i Gemfiles nel tutorial utilizzano rubino 2.0.0 e rotaie 4.0.0.rc1. Mi piacerebbe che questa configurazione funzionasse, quindi non ho conflitti con il tutorial aggiornato. New Gemfile è il seguente.

$ 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 

In primo luogo ho cambiato la versione Ruby nella Gemfile al rubino '1.9.2' perché è quello che stavo correndo, e che ho avuto un errore con aggiornamento fascio. Non ho preso appunti.

poi cambiato la versione ruby ​​torna a '2.0.0' nel Gemfile e:

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

Ora sto ricevendo il non può caricare railtie errore con i comandi rotaie.

Da Rails: Could not find railties, ho provato la seguente

$ 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 

ancora ottenere l'errore

$ 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) 

ancora ottenere l'errore

Andando indietro attraverso la configurazione originale dal tutorial nel primo capitolo (ora aggiornato per ruby ​​2, rail 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 

ottenendo ancora l'errore

ug !!!

Qualche idea?

risposta

65

ActiveResource era un'API aggiunta in Rails 2.x per supportare un'XML (e successive API JSON) in modo che i siti Rails potessero "parlare" tra loro. È stato un argomento molto caldo quando l'idea delle API RESTful è entrata nel framework. Col passare del tempo è diventato più di una novità e raramente mantenuto quindi è stato tirato fuori dal nocciolo in Rails 4.x.

Hai due opzioni su Rails 4.x.Se non hai intenzione di utilizzare ActiveResource (presumo che questo sia il caso se sei nuovo su Rails e stai lavorando su un tutorial), puoi semplicemente rimuovere o commentare la barra che la sta inserendo nel framework. Apri 'config/application.rb' e commenta la settima riga.

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 

Se si desidera utilizzare ActiveResource, poi basta aggiungerlo alla Gemfile per il progetto. Precedentemente era incluso dalla gemma delle rotaie come dipendenza; ora dovrai aggiungerlo esplicitamente se vuoi usarlo.

+6

cool, basta aggiungere gem 'activeresource' in Gemfile –

+0

Whoa, grazie. Ho avuto un problema simile, tranne che era activejob: 'gem 'activejob', '4.2.0'' aggiunto a gemfile risolto ... –

3

'ActiveResource' è disponibile come una gemma separato dal Rails 4

0

ho avuto lo stesso errore. quello che ho fatto è: in Gemfile ho modificato la versione dei binari: gem 'rails', '4.2.0' Quindi sulla riga di comando eseguito questo comando: bundle install. Per vedere quali generatori a nostra disposizione digitare rails g o rails generate su CLI.

Problemi correlati