users tutorial software rails official code blog ruby-on-rails rubygems railstutorial.org railtie gem-bundler

ruby-on-rails - tutorial - ruby on rails website



no se puede cargar railtie después de la actualización a los rieles 4 por ruby.railstutorial.org (3)

''activeresource'' está disponible como una gema separada de Rails 4

OS es Ubuntu 12.04, 64 bit.

Nuevo en rieles. Relativamente nuevo para Ruby. Siguiendo el tutorial de ruby.railstutorial.org, capítulo 3.

El tutorial se ha actualizado para usar ruby ​​2.0.0 y Rails 4.0.0.rc1. Anteriormente, el archivo gem estaba especificando Rails 3.2.13 y no especificaba la versión de Ruby. Después de pasar al último Gemfile en el tutorial, ruby ​​2.0.0 y Rails 4.0.0.rc1, recibo el siguiente error al ejecutar comandos de rieles. Ejemplo aquí es servidor de rieles

user@machine:~/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/ruby-2.0.0-p195@railstutorial_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `require'' from /home/paul/.rvm/gems/ruby-2.0.0-p195@railstutorial_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:78:in `block in <top (required)>'' from /home/paul/.rvm/gems/ruby-2.0.0-p195@railstutorial_rails_4_0/gems/railties-4.0.0.rc1/lib/rails/commands.rb:75:in `tap'' from /home/paul/.rvm/gems/ruby-2.0.0-p195@railstutorial_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>''

Obtuve algunas ideas de Rails: no se pudieron encontrar las vulnerabilidades , que se detallan a continuación, pero que aún no han encontrado una solución.

Aquí están los detalles.

Ayer (en mi navegador) el Gemfile para el Capítulo 3 fue el siguiente. Todo funcionó bien

$ 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

Esta mañana los Gemfiles en el tutorial están usando ruby ​​2.0.0 y rails 4.0.0.rc1. Me gustaría que esta configuración funcione, por lo que no tengo conflictos con el tutorial actualizado. El nuevo Gemfile es el siguiente.

$ 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

Primero cambié la versión ruby ​​en el Gemfile para ruby ​​''1.9.2'' porque eso es lo que estaba ejecutando, y creo que tuve un error con la actualización del paquete. No tomé notas.

Luego, cambié la versión de ruby ​​a ''2.0.0'' en el Gemfile y:

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

Ahora estoy obteniendo el error " no se puede cargar la razón" con los comandos de los rieles.

De los rieles: no pude encontrar las razones , intenté lo siguiente

$ 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

sigue recibiendo el error

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

sigue recibiendo el error

Volviendo a la configuración original del tutorial en el capítulo uno (ahora actualizado para ruby ​​2, rails 4.)

$ rvm use 2.0.0@railstutorial_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

sigue recibiendo el error

ug !!!

¿Algunas ideas?


ActiveResource era una API agregada en Rails 2.x para admitir una API XML (y más tarde JSON) para que los sitios de Rails pudieran "hablar" entre sí. Fue un tema candente cuando la idea de API RESTful se abrió paso en el marco. Con el tiempo, se convirtió en una novedad y se mantuvo con poca frecuencia por lo que se extrajo del núcleo en Rails 4.x.

Tienes dos opciones en Rails 4.x. Si no tenía la intención de usar ActiveResource (supongo que este es el caso si es nuevo en Rails y está trabajando en un tutorial), entonces simplemente puede eliminar o comentar la razón que está atrayendo al marco. Abra ''config / application.rb'' y comente la séptima línea.

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

Si DESEA usar ActiveResource, simplemente agréguelo al Gemfile para el proyecto. Anteriormente fue incluida por la gema rails como una dependencia; ahora tendrá que agregarlo explícitamente si desea usarlo.


Tuve el mismo error. lo que hice fue: en Gemfile cambié la versión de los rieles: gem ''rails'', ''4.2.0'' Luego, en la línea de comandos ejecuté este comando: bundle install . Para ver qué generadores tenemos disponibles, escriba los rails g o los rails generate en CLI.