instalacja pakietu zwraca „Could not locate Gemfile”


102

Jestem nowy w Railsach i obecnie pracuję nad przewodnikiem. Przewodnik stwierdza:

Użyj edytora tekstu, aby zaktualizować plik Gemfile wymagany przez Bundler o zawartość listingu 2.1.

source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.

group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :production do
  gem 'pg', '0.12.2'
end

Następnie instalujemy i dołączamy klejnoty za pomocą bundle install polecenia:

    $ bundle install --without production 

Jeśli Bundler narzeka, no such file to load -- readline (LoadError)spróbuj dodać go gem ’rb-readline’do swojego Gemfile.)

Postępowałem zgodnie z instrukcjami, nawet dodając gem 'rb-readline'do Gemfilepliku, ale najwyraźniej nie można znaleźć pliku, a kiedy idę do mojego edytora tekstu, widzę Gemfilesam siebie. Zauważyłem, że kazali mi umieścić, gem 'rails', 3.2.3a moja wersja Railsów to 3.2.1, więc próbowałem zmienić ją na 3.2.1, ale to też nie zadziałało.

Wszelkie przemyślenia lub rady będą mile widziane.


1
dlaczego umieszczasz - - znaki na liście Gemfile?
MikDiet

nie, nie, po prostu umieściłem to w tym miejscu, aby było bardziej czytelne dla was, ponieważ nie mogę jeszcze używać obrazów ... używam wysublimowanego edytora tekstu tylko do informacji.
levelone

2
Znalazłem rozwiązanie problemu. Przypuszczam, że „$ cd demo_app”, a następnie „$ install bundle” z tego folderu. :)
levelone

Odpowiedzi:


244

Musisz tylko zmienić katalogi w swojej aplikacji, a następnie uruchomić bundle install:)


1
@svoisen,: D Google umieszcza Twoją odpowiedź we fragmencie podczas wyszukiwania tego konkretnego problemu, przy okazji. Pozdrowienia i podziękowania z pozbawionej snu przyszłości!
Jaime

1
BTW, możesz znaleźć katalog aplikacji za pomocą whereis <app_name>polecenia, zwykle plik Gemfile znajduje się w / usr / shared / *
4gus71n

Aplikacja może również znajdować się w folderze w / opt /
Mo Beigi

Po prostu dodaj trochę luzu, który przeniesie się do folderu projektu, a nie folderu 'bin' projektu :)

20

Możesz również wskazać ścieżkę do pliku gemfile w tym samym poleceniu np

BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install

2
Doskonała odpowiedź. Ponieważ w mojej sytuacji nie mogę wszędzie uzyskać polecenia pakietu dostępu. [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle installjest moim poleceniem do wykonania.
uzay95

Z jakiegoś powodu miałem ten problem, kiedy kopiowałem plik Gemfile do kontenera docker, nie mogłem znaleźć .bundle i ustawiłem mój WOKRDIR, ale nie wydawało się, że złapałem go podczas instalacji pakietu, to załatwiło sprawę!
ConstantineK

17

Miałem ten problem również na komputerze z OSX. Odkryłem, że szyny nie zostały zainstalowane ... co mnie zaskoczyło, ponieważ myślałem, że OSX zawsze był dostarczany z Railsami. Aby zainstalować szyny

  • sudo gem install rails
  • aby zainstalować jekyll potrzebowałem również sudo
  • sudo gem install jekyll bundler
  • cd ~/Sites
  • jekyll new <foldername>
  • cd <foldername> OR cd !$ (to jest magia;)
  • bundle install
  • bundle exec jekyll serve
  • Następnie w przeglądarce przejdź do http://127.0.0.1:4000/ i naprawdę powinno działać

Unikaj używania sudodo instalowania klejnotów. To spowoduje ból. Czytaj więcej: thinkbot.com/blog/psa-do-not-use-system-ruby
David Hempy


7

Kiedy miałem podobny problem, gem update --systempomogło mi. Uruchom to wcześniejbundle install


2

Miałem ten problem na Ubuntu 18.04. Zaktualizowałem klejnot

  • Szyny instalacyjne sudo gem
  • sudo gem zainstaluj jekyll
  • sudo gem zainstaluj pakiet jekyll
  • cd ~ / pożądanyFolder
  • jekyll nowy
  • cd LUB
  • pakiet init
  • instalacja pakietu
  • pakiet dodaj jekyll
  • pakiet exec jekyll służyć

Wszystko działało i uruchom przeglądarkę, po prostu przejdź do http://127.0.0.1:4000/ i naprawdę powinno być uruchomione


0

1 upewnij się, że plik jest Gemfilezamiast gemfile.

2 upewnij się, że jesteś w tym samym katalogu, co plik Gemfile.


-1

Wyszukaj plik Gemfile w swoim projekcie, przejdź do tego katalogu, a następnie uruchom „instalację pakietową”. przed uruchomieniem tego polecenia upewnij się, że zainstalowałeś gem „sudo gem install bundler”


wykonał „instalację pakietową”, nie rozumiem twojej odpowiedzi
Gar

-10

Pomyśl więcej o tym, co instalujesz i przejdź do folderu Gemfile, a następnie spróbuj użyć sudo bundle install


2
nigdy nie powinieneś uruchamiać pakietu z sudo
tasomaniac
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.