2011-06-08 32 views
50

Después de instalar RVM, actualización .gmrc archivo, actualización rubygems y funcionando gem install rails -v ">=3.1.0rc", ahora parecen tener un completo desastre:No se pudo encontrar carriles (> = 0) entre [] (Gem :: LoadError)

$ rails -v 
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError) 
    from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec' 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1182:in `gem' 
    from /var/lib/gems/1.8/bin/rails:18 

[email protected]:~$ gem env 

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.6.2 
    - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/myhome/gems 
    - RUBY EXECUTABLE: /home/myhome/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/myhome/gems/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-linux 
    - GEM PATHS: 
    - /home/myhome/gems 
    - /usr/lib/ruby/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - "gemhome" => "/home/myhome/gems" 
    - "gempath" => ["/home/myhome/gems", "/usr/lib/ruby/gems/1.8"] 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 
+0

Estoy teniendo este problema exacto, pero con la gema del paquete. – Mark

+0

Perdón, reinstalé Ubuntu en esa máquina, así que no puedo comentar ninguna de las soluciones sugeridas ... aunque en realidad probé el enfoque sudo sin éxito, así que acepto la sugerencia de eliminar ruby, gracias – rigyt

Respuesta

33

tuve que sudo gem install bundler para que funcione de nuevo.

+10

Dios, a veces el ecosistema Ruby solo me hace gritar y llorar. – iphone007

+0

¿Qué sucede si ya tengo el paquete y todavía no funciona? (ese es mi caso) – ViniciusPires

83

He tenido un problema similar. No estoy seguro si eso lo ayuda, pero puede intentar instalar gemas con rvmsudo gem install [gemname] en lugar de simplemente hacer gem install [gemname] o sudo gem install [gemname].

intento explicar esto un poco debido a las upvotes:
Básicamente, esto es un problema de ruta. Si configura gemas a través de gem install, lo más probable es que estén en otro directorio (por ejemplo, /usr/local/) en comparación con las gemas configuradas a través de bundler (donde puede anularlo con --path). El uso de sudo también puede configurarlos en otro directorio ya que sudo inicia una subshell que tiene un entorno diferente. Es por eso que tiene rvmsudo.

Si desea ver las diferencias, comparar $PATH, $GEM_HOME, $GEM_PATH y $BUNDLE_PATH cuando haciéndose eco de forma directa, con sudo y con rvmsudo.

+2

Este comentario es especialmente útil para instalando gemas en travis-ci.org – badsyntax

+4

quisiera poder haberte votado dos veces. – Allen

+0

tengo este problema al crear mis propias gemas y aún desarrollarlas. En la aplicación principal, uso la ruta para hacer referencia a la carpeta. cuando está fuera del directorio de la aplicación y quiero hacer algo como rails -v obtengo este error diciendo que no puedo encontrar una gema personalizada que estoy desarrollando. ¿Alguna recomendación sobre una posible solución? – Spasm

1

Eliminar ruby ​​primera continuación

sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev 

para instalar todo lo necesario lib entonces se podría instalar Ruby y Rails

rvm install 1.9.3 
rvm --default use 1.9.3 
rvm gem install rails 
0

Tuve casi el mismo mensaje cuando trato de generar un controlador después de instalar IntelliJ IDEA y el complemento asociado para Rail Dev. Desde el directorio de mi aplicación acabo de ejecutar la instalación del paquete y luego pude generar controladores nuevamente.

5
rvm rubygems current 

hizo el truco para mí.

6

Tengo un problema similar a esto, puede haber un problema compatible de rvm. me fijo mediante la actualización a la última versión RVM:

curl -L https://get.rvm.io | bash -s stable --ruby 

entonces usted debe recargar RVM o simplemente abierta nueva ventana de terminal. Luego volví a instalar el bundler 'gem install bundler' y ejecuté 'bundle install' como de costumbre

+3

Si ya tiene instalado rvm y una versión más nueva, esto debería hacer lo mismo: 'rvm get stable --auto' – jmervine

0

Sé que esta es una pregunta muy antigua pero recientemente decidí cambiarme a RVM en un servidor que tenía configurado hace un tiempo y estaba teniendo el mismo problema donde las gemas se estaban instalando en el lugar equivocado y estaba estropeando todo.

Después de unas pocas horas de avanzar lentamente, finalmente descubrí que en mi archivo .gemrc en mi carpeta raíz, había configurado previamente las variables gemhome: and gempath: y estaban jugando con todo el sistema.

Después de eliminar estas líneas, todas mis gemas fueron propiedad de trabajo.

Solo pensé en publicar mi respuesta en caso de que alguien estuviera en el mismo puesto.

Cuestiones relacionadas