Erro “Não foi possível encontrar o bundler”


107

Quando tento fazer bundler update, recebo este erro:

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

Sou novo em Ruby, alguém pode me dizer o que poderia causar isso? Rake 0.8.7 está instalado.


1
0 voto negativo Está dizendo que você não tem o bundler instalado. Se você executar uma 'lista de gemas b', você vê o bundler?
Jake Dempsey

Respostas:


214

Certifique-se de inserir a atualização "bundle", se tiver o bundler gem instalado.

bundle update

Se você não tem bundler instalado, faça gem install bundler.


se você criar um novo applocation - rails novo e se você receber este erro?
AMIC MING

2
Faça um gem list bundlere veja se aparece. Se não tiver, você precisará instalá-lo conforme listado em minha resposta.
ardavis

10
Isso aconteceu comigo depois de instalar uma nova versão do ruby ​​usando o rvm. Então eu tive que correr gem install bundlernovamente
NRR

61

Eu tive esse problema, então eu fiz:

gem install bundle

observe que "bundle" e não "bundler" resolveu meu problema.

em seguida, na pasta do projeto:

bundle install

e então você pode executar seu projeto usando:

script/rails server

pacote de instalação do gem - isso funcionou para mim também.
Don Cote

10
Observe que a gema "bundle" é simplesmente uma gema que declara "bundler" como uma dependência, o que essencialmente corrige seu erro de digitação. github.com/will/bundle/blob/…
sealocal

13

Eu tive o mesmo problema. Isso funcionou para mim:

  1. execute rvm / script / rvm e também adicione-o ao seu .profile ou .bash_profile conforme mostrado em https://rvm.io/rvm/install/

  2. usar pacote sem sudo



8

O comando é bundle update(não há "r" no "pacote").

Para verificar se o bundler está instalado, faça: gem list bundlerou even which bundlee o comando listará a versão do bundler ou o caminho para ele. Se nada for mostrado, instale o bundler digitando gem install bundler.


7

Eu tive o mesmo problema .. algo aconteceu ao meu perfil do bash que não estava configurando o material RVM corretamente.

Certifique-se de que seu perfil bash tenha a seguinte linha:

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

Então eu executei "source ~ / .bash_profile" e isso recarregou tudo que estava em meu perfil bash.

Isso pareceu consertar para mim.


Obrigado por isso. Embora eu soubesse soletrar "bundle" vs "bundler", tinha esquecido completamente que reinstalei o zsh e, no processo, acidentalmente destruí esta linha do meu .zshrc.
Estava

Essa resposta é antiga, mas para mim tem sido a solução!
jonnyjava.net

Certifique-se de que esta seja a ÚLTIMA linha em seu arquivo de perfil
rmcsharry

6

De acordo com esta resposta a uma pergunta semelhante, deve ser suficiente:

rvmsudo gem install bundler.

Felicidades


4

Você pode ter que fazer algo como "rvm use 1.9.2" primeiro para usar o rubi e o conjunto de joias corretos. Você pode verificar qual rubi você está usando fazendo "qual rubi"


2

Eu consegui isso depois de atualizar para o ruby ​​2.1.0. Meu PATHfoi definido em meu script de login para incluir .gem/ruby/2.0.0/bin. Atualizar o número da versão corrigiu isso.


2

O sistema pode estar executando "sem raiz". Tente definir a variável boot-args do firmware nvram como "rootless = 0". Tente executar um conjunto de comandos:

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

Depois que a reinicialização for concluída, execute:

sudo gem install bundler

2

Se você estiver usando, o rbenvexecutar rbenv rehashpode resolver isso após a instalação bundlere ainda está tendo o problema.



1

Para qualquer pessoa que tenha esse problema com o Capistrano: capistrano não consegue localizar o bundler. A razão pode ser que você instalou o bundler em algum outro lugar gemsetonde o Capistrano nem está olhando.

  1. Liste seus conjuntos de joias.

lista de conjuntos de gems de rvm

  1. Use um conjunto de joias específico.

rvm usar 'my_get_set'

  1. Instale o bundler nesse conjunto de gemas.

pacote de instalação de gem

Em seguida, tente novamente com a tarefa de implantação.


0

No meu caso, acredito que tinha um Ruby antigo remanescente no sistema, não registrado no rvm, e mesmo que as variáveis ​​de caminho e a lista de gem estivessem ok, ele ainda usaria o Ruby antigo durante as implantações com Capistrano

E então percebi que o Ruby que instalei com o rvm não estava configurado para o padrão. Corrida

rvm alias create default <rvm_registered_ruby>

Corrigido.


0

Por precaução, tive um erro semelhante com o bundler 2.1.2 e resolvi com:

sudo gem install bundler -v 1.17.3

Se você tiver várias versões do bundler instaladas, poderá executar uma versão específica do bundle desta forma: bundle _1.17.3_ exec rspec

Embora pareça que as versões posteriores do bundler apresentam muitos bugs (tiveram problemas em 3 projetos diferentes em 2 sistemas operacionais), ter um bundler antigo pode funcionar melhor, pelo menos é o que tenho no meu Ubuntu e MacOS

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.