Pepino y WebRat en Selenio modo:No se puede iniciar mongrel_rails cuando se utiliza la gema paquete

StackOverflow https://stackoverflow.com/questions/2360683

Pregunta

Estoy usando la gema bundler (v. 0.9.6) y Rails 2.3.5, rubygems 1.3.6 y ruby 1.8.7 (En Snow Leopard).Mi Gemfile se parece a esto:

source :rubyforge
source "http://gems.github.com"

gem "rails", "2.3.5"
gem "ruby-debug"
gem "activemerchant", :require => 'active_merchant'
gem "hpricot"
gem "nokogiri"
gem "state_machine"
gem "fastercsv"
gem "yubikey"
gem "httparty"
gem "ruby-openid"
gem "mongrel" 

group :development do 
  gem 'mongrel'
end

#teste
group :test do
  gem 'rspec'  
  gem 'rspec-rails'
  gem 'cucumber' 
  gem 'cucumber-rails'
  gem "mechanize"
  gem 'notahat-machinist', :require => 'machinist'
  gem 'faker'
  gem 'webrat'
  gem 'selenium-client'
  gem 'database_cleaner'
  gem 'fakeweb'
  gem 'mongrel' #Selenium needs this
end

Hasta ahora tan bueno.He estado usando bundler con éxito durante un par de semanas ya.Sin embargo, comencé a usar el Pepino y WebRat en el Selenio modo a prueba algunos ajaxy características del sitio, y cada vez que se ejecuta la función, WebRat me estaba diciendo que el servidor Rails se inició, pero yo siempre tengo un XHR_ERROR, donde el Selenio no se pudo encontrar la dirección URL. Así, sucedió que el servidor no se inicia.

Entonces, abrí la webrat/lib/webrat/selenio/application_servers/rails.rb archivo y poner un depurador de instrucción en el método start.Corrió la característica de nuevo, cuando el depurador activa, me imprime el retorno de la start_command def, que fue:

mongrel_rails start -d --chdir='/Users/fullofcaffeine/Projetos/myproject' --port=3001 --environment=test --pid /Users/fullofcaffeine/Projetos/myproject/tmp/pids/mongrel_selenium.pid 

He copiado y pegado en la consola, quitarse la opción-d y desde y hacia el final, y aquí está el resultado me dieron:

** Rails loaded.
** Loading any Rails specific GemPlugins
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require': no such file to load -- /Users/fullofcaffeine/.bundle/ruby/1.8/gems/mongrel-1.1.5/lib/mongrel/init.rb (MissingSourceFile)
 from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
 from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
 from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:134:in `load'
 from /Library/Ruby/Site/1.8/rubygems/source_index.rb:241:in `each'
 from /Library/Ruby/Site/1.8/rubygems/source_index.rb:241:in `each'
 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:112:in `load'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:231:in `load_plugins'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:117:in `cloaker_'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `call'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `listener'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:99:in `cloaker_'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `call'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `initialize'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `new'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `run'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
 from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
 from /usr/bin/mongrel_rails:19:in `load'
 from /usr/bin/mongrel_rails:19

Compruebe la ruta de acceso está intentando cargar mestizo de:"~/.bundle/...", pero mestiza se instala como un sistema de gem.Paquete controla la carga del sistema de joyas finas en otro contexto, pero en este caso particular, no tengo idea de por qué se está fallando :(.

He intentado ejecutar el "bundle install" de nuevo, y siempre dice:

La instalación de mestizos (1.1.5) del sistema gemas

He intentado desinstalar mestizo de que el sistema intente hacer el paquete para instalar en ~/.paquete (esto parece el origen del error, ya que la mestiza se busca en este camino empiezo a mongrel_rails como más arriba), pero yo no podía hacerlo.

gem uninstall mongrel
ERROR:  While executing gem ... (Gem::InstallError)
    cannot uninstall, check `gem list -d mongrel`

Y cuando ejecuto "gem list | grep mestizo", me sale:

mongrel (1.1.5)

Raro.

Yo sólo quiero ser capaz de ejecutar Pepino y WebRat + Selenio correctamente, mientras que el uso de gem bundler, pero esto me está volviendo loco.

Podría alguien aclararme ?

¿Fue útil?

Solución

Bueno, he encontrado una solución, una especie de pescado, pero las obras:

 cp  /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/ mongrel-1.1.5

Ahora, si se intenta:

mongrel_rails start --chdir='/Users/fullofcaffeine/Projetos/myproject' --port=3001 --environment=test --pid /Users/fullofcaffeine/Projetos/myproject/tmp/pids/mongrel_selenium.pid

Se encontrará mestizo e iniciar el servidor, a continuación, puede ejecutar la función de pepino que utiliza selenio y funcionará:)

Si alguien se entera o sabe algo más sobre este tema, acción, esto podría terminar siendo un error en alguna parte.

Otros consejos

He tenido un problema similar, pero resultó ser que no coinciden las versiones de gemas entre lo que había en mi /Usuarios/{cuenta}/.joyas/ y lo que se ha instalado en /Library/Ruby/Gems/ (instalación predeterminada) o en /opt/local/lib/ruby/gems/ (Mac Puertos de instalar).Tan pronto como he eliminado el /los Usuarios/{cuenta}/.joyas/ funcionaba todo.

Me encontré con este mismo problema, y pasó un rato tratando de depurar.Parece que hay algún tipo de interacción entre los Mestizos, GemPlugin y Bundler.Las posibles soluciones incluyen:

  1. Revisión GemPlugin a jugar muy bien con Bundler 0.9.
  2. Modificar Mestizo no utilizar más el GemPlugin.
  3. Modificar Webrat para apoyar a un servidor web distinto de Mestizo.

Ya que ambos GemPlugin y Mestizos están buscando algo obsoleto y abandonado estos días, he decidido añadir Delgada de apoyo a Webrat basado en este parche.

Usted puede encontrar el parche nuevo en github, o agregar lo siguiente a tu Gemfile:

gem 'webrat', :git => 'git://github.com/emk/webrat.git'

...y actualización de su cuenta de soporte//env.rb archivo en consecuencia:

Webrat.configure do |config|
  # Add this line.
  config.application_framework = :rails_thin

  # Your previous configuration here...
end

bundle exec mongrel_rails start ...?

El punto aquí es cargar los carriles gemas del haz, así no desde el gemenv sistema.

Tenemos un escenario similar que fue escrito hasta aquí: Como llegar mestizo trabajar con bundler?

Trate de localizar el directorio de gemas, que el ejecutable joya actual está utilizando y eliminar cualquier residuo de caché o especificaciones de directorios, que debería funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top