Pracuję w kali-linux (czarownica dystrybucji Linuksajest kontynuacją Back-Track, opartej na Ubuntu, właśnie teraz bazuje na Debian wheezy) dla niektórych testów penetracyjnych. Wszystko działało dobrze, dopóki nie zdecydowałem się zaktualizować narzędzi systemowych. Teraz za każdym razem, gdy próbuję uruchomić narzędzie oparte na ruby, to mnie to obraca:
Could not find gem "ruby-progressbar (>= 1.1.0) ruby" in the gems available on this machine.
Run `bundle install` to install missing gems.
Idę pobiegać bundle install
ale potem przychodzi Bundler::GemfileNotFound
błąd.
Kali używa domyślnie ruby do używania klejnotów. Oprogramowanie nie wymaga "żadnego innego pakietu, ale ruby nie jest w pełni skonfigurowany / zainstalowany pod kątem danego problemu.
$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [i486-linux]
$ rvm
bash: rvm: command not found
$ rbenv
bash: rbenv: command not found
Odpowiedzi:
20 dla odpowiedzi nr 1Zmierzyłem się z tym samym problemem, kiedy próbowałem bundle install
nie zdając sobie sprawy, że nie znalazłem się w katalogu projektu. Upewnij się, że jesteś w bieżącym katalogu projektu.
3 dla odpowiedzi № 2
aby uniknąć tego błędu, powinieneś znaleźć się w katalogu głównym swojej aplikacji i stworzyć GemFile i określić wszystkie potrzebne w nim klejnoty oraz uruchomić instalację pakietu
1 dla odpowiedzi nr 3
Problem polegał na tym, że z jakiegoś dziwnego powodu Ruby go nie wykryła bundler
został zainstalowany, chociaż menedżer pakietów tak mówi.
$ apt-cache policy bundler
bundler:
Installed: 1.3.5-2
Candidate: 1.3.5-2
$ bundle --version
Bundler::GemfileNotFound
Po prostu biegnę gem install bundler
następnie bundler install
jako root na ścieżce narzędzia i wszystko działa jak urok.
0 dla odpowiedzi nr 4
Używasz rvm
lub rbenv
? Jeśli tak, upewnij się, że używasz konkretnej wersji ruby.
Dla rvm, rvm list
i poszukaj wskazania obok swojej wersji ruby. Jeśli prawidłowego nie ma na liście, uruchom rvm install x.y.z
. Jeśli właściwy nie jest wybrany, uruchom rvm use x.y.z
Jeśli chcesz posegregować klejnoty dla danego projektu, stwórz gemset
. W przeciwnym razie powinieneś być dobry.
Biegać gem install bundler
. Nie powinieneś robić tego jako sudo. Spowoduje to zainstalowanie pakietu pakującego w domyślnym zestawie rvm lub wybranym zestawie gemsetów.
Bundler powinien być teraz dostępny i może być uruchomiony przy użyciu bundle
. To jest to samo bundle install
.
0 dla odpowiedzi № 5
Spróbuj tego:
sudo ln -s /var/lib/gems/1.8/bin/bundle /bin/bundle
sudo ln -s /var/lib/gems/1.8/bin/bundler /bin/bundler
Pracowałem dla mnie w debian.