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.


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.


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

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



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.


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.


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


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”


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.


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

2

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



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.


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.