Error "No se pudo encontrar el paquete"

107

Cuando intento hacerlo bundler update, aparece este error:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

Soy nuevo en Ruby, ¿alguien puede decirme qué causa esto? Rake 0.8.7 está instalado.

Steven
fuente
1
0 voto en contra Es decir que no tienes instalado el paquete. Si ejecuta una 'lista de gemas b', ¿ve el paquete?
Jake Dempsey

Respuestas:

214

Asegúrese de ingresar la actualización del "paquete", si tiene instalada la gema del paquete.

bundle update

Si no tiene el paquete instalado, hágalo gem install bundler.

Ardavis
fuente
si crea una nueva ubicación de la aplicación - rieles nuevos y si obtiene este error?
AMIC MING
2
Haz una gem list bundlery mira si aparece. Si no es así, debe instalarlo como se indica en mi respuesta.
ardavis
10
Esto me sucedió después de instalar una nueva versión de ruby ​​usando rvm. Luego tuve que correr de gem install bundlernuevo
NRR
61

Tuve este problema, luego lo hice:

gem install bundle

aviso "paquete" no "paquete" resolvió mi problema.

luego en la carpeta de su proyecto haga:

bundle install

y luego puedes ejecutar tu proyecto usando:

script/rails server
dorio
fuente
paquete de instalación de gemas: esto también lo hizo por mí.
Don Cote
10
Tenga en cuenta que la gema "bundle" es simplemente una gema que declara "bundler" como una dependencia, que esencialmente corrige su error tipográfico. github.com/will/bundle/blob/…
sealocal
13

Yo tuve el mismo problema. Esto funcionó para mí:

  1. ejecute rvm / script / rvm y también agréguelo a su .profile o .bash_profile como se muestra en https://rvm.io/rvm/install/

  2. usar paquete sin sudo

bjelli
fuente
8

El comando es bundle update(no hay "r" en el "paquete").

Para comprobar si el paquete está instalado, haga: gem list bundlero incluso which bundley el comando mostrará la versión del paquete o la ruta. Si no se muestra nada, instale el paquete escribiendo gem install bundler.

Zabba
fuente
7

Tuve el mismo problema ... algo le sucedió a mi perfil de bash que no estaba configurando las cosas RVM correctamente.

Asegúrese de que su perfil de bash tenga la siguiente línea:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Luego ejecuté "source ~ / .bash_profile" y recargué todo lo que estaba en mi perfil de bash.

Eso pareció arreglarlo para mí.

Brian Vitrue
fuente
Gracias por esto. Aunque sabía cómo deletrear "bundle" vs "bundler", me había olvidado por completo que reinstalé zsh y en el proceso accidentalmente borré esta línea de mi .zshrc. Me había estado tirando de los pelos por esto por un tiempo :)
rmurphey
¡Esta respuesta es antigua pero para mí ha sido la solución!
jonnyjava.net
Asegúrese de que esta sea la ÚLTIMA línea en su archivo de perfil
rmcsharry
6

Según esta respuesta a una pregunta similar, debería ser suficiente:

rvmsudo gem install bundler.

Salud

Andrew Khouzam
fuente
4

Puede que tenga que hacer algo como "rvm use 1.9.2" primero para que esté usando el rubí y el conjunto de gemas correctos. Puede comprobar qué rubí está utilizando haciendo "qué rubí"

mgauthier
fuente
2

Obtuve esto después de actualizar a ruby ​​2.1.0. Mi PATHse configuró en mi script de inicio de sesión para incluir .gem/ruby/2.0.0/bin. La actualización del número de versión lo solucionó.

Thomas Leonard
fuente
2

Es posible que el sistema se esté ejecutando "sin raíz". Intente configurar la variable boot-args del firmware nvram en "rootless = 0". Intente ejecutar un conjunto de comandos:

sudo nvram boot-args="rootless=0"; 
sudo reboot

Después de que se complete el reinicio, ejecute:

sudo gem install bundler
Bogdan Ustyak
fuente
2

Si está usando la rbenvejecución, rbenv rehashpuede resolver esto después de haber instalado bundlery todavía tiene el problema.

eebbesen
fuente
1

Para cualquiera que tenga este problema con Capistrano: capistrano no puede localizar el bundler. La razón podría ser que instaló el paquete debajo de algún otro gemsetdonde el Capistrano ni siquiera está mirando.

  1. Enumere sus gemas.

lista de conjuntos de gemas rvm

  1. Utilice un conjunto de gemas en particular.

rvm usa 'my_get_set'

  1. Instale el paquete debajo de ese conjunto de gemas.

paquete de instalación de gemas

Luego, vuelva a intentarlo con la tarea de implementación.

Nervio
fuente
0

En mi caso, creo que tenía un Ruby antiguo restante en el sistema, no registrado en rvm, e incluso si las variables de ruta y la lista de gemas estaban bien, todavía usaría el Ruby antiguo durante las implementaciones con Capistrano

Y luego me di cuenta, el Ruby que había instalado con rvm no estaba configurado en el predeterminado. Corriendo

rvm alias create default <rvm_registered_ruby>

Arreglado.

Cyril Duchon-Doris
fuente
0

Por si acaso, tuve un error similar con el paquete 2.1.2 y lo resolví con:

sudo gem install bundler -v 1.17.3

Si tiene varias versiones del paquete instaladas, puede ejecutar una versión específica del paquete de esta manera: bundle _1.17.3_ exec rspec

Aunque parece que las versiones posteriores del paquete tienen muchos errores (tuve problemas en 3 proyectos diferentes en 2 sistemas operativos), tener un paquete antiguo puede funcionar mejor, al menos esto es lo que tengo en Ubuntu y MacOS

Daniel Garmoshka
fuente