Błąd „Nie można znaleźć pakietu”

107

Kiedy próbuję to zrobić, bundler updatepojawia się ten błąd:

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

Jestem nowy w Ruby, czy ktoś może mi powiedzieć, co mogłoby to spowodować? Rake 0.8.7 jest zainstalowany.

Steven
źródło
1
0 głosów w dół Mówi, że nie masz zainstalowanego pakietu. Jeśli wykonasz „listę klejnotów b”, czy zobaczysz pakiet?
Jake Dempsey

Odpowiedzi:

214

Upewnij się, że wprowadzasz aktualizację „pakietu”, jeśli masz zainstalowany klejnot pakietu.

bundle update

Jeśli nie masz zainstalowanego pakietu, zrób to gem install bundler.

ardavis
źródło
jeśli utworzysz nową aplikację - railsy nowe i jeśli pojawi się ten błąd?
AMIC MING
2
Zrób gem list bundleri zobacz, czy się pojawi. Jeśli tak się nie stanie, musisz go zainstalować zgodnie z moją odpowiedzią.
ardavis
10
Stało się to dla mnie po zainstalowaniu nowej wersji ruby ​​za pomocą rvm. Potem musiałem gem install bundlerznowu biec
NRR
61

Miałem ten problem, potem zrobiłem:

gem install bundle

zauważ, że „pakiet”, a nie „pakiet”, rozwiązał mój problem.

następnie w folderze projektu wykonaj:

bundle install

a następnie możesz uruchomić swój projekt używając:

script/rails server
dorycki
źródło
gem install bundle - to też zrobiło to dla mnie.
Don Cote
10
Zauważ, że klejnot „bundle” to po prostu klejnot, który deklaruje „bundler” jako zależność, co zasadniczo naprawia literówkę. github.com/will/bundle/blob/…
sealocal
13

Miałem ten sam problem. To zadziałało dla mnie:

  1. uruchom rvm / script / rvm, a także dodaj go do swojego .profile lub .bash_profile, jak pokazano na https://rvm.io/rvm/install/

  2. użyj pakietu bez sudo

bjelli
źródło
8

Polecenie to bundle update(nie ma „r” w „pakiecie”).

Aby sprawdzić, czy pakiet jest zainstalowany, wykonaj: gem list bundlerlub nawet, which bundlea komenda wyświetli wersję pakietu lub ścieżkę do niego. Jeśli nic się nie wyświetla, zainstaluj pakiet, wpisując gem install bundler.

Zabba
źródło
7

Miałem ten sam problem… coś się stało z moim profilem basha, co nie ustawiało poprawnie RVM.

Upewnij się, że Twój profil bash zawiera następujący wiersz:

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

Następnie uruchomiłem „source ~ / .bash_profile” i ponownie załadowałem wszystko, co było w moim profilu bash.

Wydawało się, że to mi pomogło.

Brian Vitrue
źródło
Dzięki za to. Chociaż wiedziałem, jak przeliterować „pakiet” w porównaniu z „pakietem”, całkowicie zapomniałem, że ponownie zainstalowałem zsh i podczas tego procesu przypadkowo wyrzuciłem tę linię z mojego .zshrc. Od jakiegoś czasu
ciągnąłem
Ta odpowiedź jest stara, ale dla mnie było rozwiązaniem!
jonnyjava.net
Upewnij się, że jest to OSTATNIA linia w Twoim pliku profilu
rmcsharry
6

Zgodnie z tą odpowiedzią na podobne pytanie powinno wystarczyć:

rvmsudo gem install bundler.

Twoje zdrowie

Andrew Khouzam
źródło
4

Być może będziesz musiał najpierw zrobić coś w rodzaju „rvm use 1.9.2”, aby użyć właściwego ruby ​​i gemset. Możesz sprawdzić, którego rubinu używasz, robiąc „który ruby”

mgauthier
źródło
2

Otrzymałem to po aktualizacji do Ruby 2.1.0. Mój PATHzostał ustawiony w moim skrypcie logowania do uwzględnienia .gem/ruby/2.0.0/bin. Aktualizacja numeru wersji naprawiła problem.

Thomas Leonard
źródło
2

System może działać bez rootowania. Spróbuj ustawić zmienne boot-args oprogramowania układowego nvram na „rootless = 0”. Spróbuj uruchomić zestaw poleceń:

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

Po zakończeniu ponownego uruchamiania uruchom:

sudo gem install bundler
Bogdan Ustyak
źródło
2

Jeśli używasz rbenvbiegania, rbenv rehashmożesz rozwiązać ten problem po zainstalowaniu bundleri nadal występuje problem.

eebbesen
źródło
1

Dla każdego, kto napotka ten problem z Capistrano: capistrano nie jest w stanie zlokalizować pliku bundler. Powodem może być to, że zainstalowałeś pakiet pod innym, gemsetgdzie Capistrano nawet nie wygląda.

  1. Wymień swoje klejnoty.

lista rvm gemset

  1. Użyj określonego zestawu kamieni.

rvm użyj „my_get_set”

  1. Zainstaluj pakiet pod tym gemsetem.

gem install bundler

Następnie spróbuj ponownie z zadaniem wdrażania.

Nerw
źródło
0

W moim przypadku wydaje mi się, że miałem stary Ruby pozostający w systemie, niezarejestrowany w rvm i nawet jeśli zmienne ścieżki i lista klejnotów były w porządku, nadal używałbym starego Rubiego podczas wdrożeń z Capistrano

I wtedy zdałem sobie sprawę, że Ruby, który zainstalowałem z rvm, nie był ustawiony na domyślny. Bieganie

rvm alias create default <rvm_registered_ruby>

Naprawione.

Cyril Duchon-Doris
źródło
0

Na wszelki wypadek miałem podobny błąd z bundlerem 2.1.2 i rozwiązałem go:

sudo gem install bundler -v 1.17.3

Jeśli masz zainstalowanych kilka wersji pakietu, możesz uruchomić określoną wersję pakietu w ten sposób: bundle _1.17.3_ exec rspec

Chociaż wydaje się, że późniejsze wersje pakietu są dość błędne (miały problemy z 3 różnymi projektami w 2 systemach operacyjnych), posiadanie jednego starego pakietu może działać najlepiej, przynajmniej to jest to, co mam na moim Ubuntu i MacOS

Daniel Garmoshka
źródło