Użyłem sudo bundle install
i może to być przyczyną problemu?
Teraz mam:
gem -v
2.6.14ruby -v
ruby 2.3.5p376 (wersja 14.09.2017 59905) [x86_64-darwin15]jekyll -v
jekyll 3.6.2bundle -v
Wersja Bundlera 1.16.0.pre.3
Podczas próby uruchomienia bundle exec jekyll serve
lub po prostu pojawia się następujący błądjekyll serve
/Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException)
from /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in `activate_bin_path'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa
Ponadto, uzyskując dostęp do folderu, w którym mam mojego bloga cd my_path
, otrzymuję następujący komunikat:
VM użyła twojego Gemfile do wybrania Ruby, wszystko jest w porządku - Heroku też to robi, możesz zignorować te ostrzeżenia za pomocą 'rvm rvmrc warning ignore / Library / WebServer / Documents / blog / Gemfile'. Aby zignorować ostrzeżenie dla wszystkich plików, uruchom polecenie „rvm rvmrc warning ignore allGemfiles”. Nieznana wersja interpretera ruby (nie wiem, jak sobie z tym poradzić): RUBY_VERSION.
Nie mam pojęcia, jak to rozwiązać. Chcę tylko stworzyć mojego statycznego bloga i szczerze mówiąc, nie mam pojęcia o Ruby, Gemie ani pakiecie :) Więc doceniłbym pewne spostrzeżenia!
Odpowiedzi:
Problem w moim przypadku polega na tym, że
Gemfile.lock
plik miałBUNDLED_WITH
wersję1.16.1
igem install bundler
zainstalowaną wersję2.0.1
, więc wystąpiło niedopasowanie wersji, gdy szukałem odpowiedniego folderugem install bundler -v 1.16.1
naprawioneOczywiście, można także zmienić
Gemfile.lock
„sBUNDLED_WITH
z ostatniejbundler
wersji i wykorzystywać najnowsze oprogramowanie, jak Sam3000 sugerujeźródło
BUNDLED_WITH
wersję na najnowszą wersję programu pakującego. To zadziałało dla mnie i uratowało mnie, że potrzebuję przestarzałego oprogramowania :)gem install bundler -v 1.16.1
i teraz, jeśli uruchomięgem.bat list bundler
, dostanę pakiet (2.0.1, 1.16.1, 1.9.6). Nie mogę zmienić aktualną wersję: wykonaniebundle.bat _1.16.1 install
daje mi ten błąd:Could not find command "_1.16.1"
. Masz jakiś pomysł, więc nie muszę tworzyć nowego pytania? Dzięki!zaktualizuje rubygemy i naprawi problem.
źródło
gem update --system
pracował dla mnie:ruby
2.5.0 ,bundler
2.0.1 ,macOS
10.13.6 .Aktualizacja:
Zgodnie z odpowiedzią @ noraj i komentarzem @Nielsa Kristiana następujące polecenie powinno wykonać zadanie.
Napisałem to na wypadek, gdyby ktoś wpadł w taki problem.
gem install bundler
pokazuje, że wszystko instaluje się dobrze.Podczas pisania
bundle
wystąpił błąd:A w folderze
/Users/nikkov/.rvm/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/
nie byłobundler-1.16.0
folderu.I stała to z
sudo gem install bundler
źródło
Prawdziwa odpowiedź jest tutaj, jeśli próbujesz zainstalować pakiet 2.0.1 lub 2.0.0, ponieważ Bundler wymaga RubyGems v3.0.0
Aby uzyskać więcej informacji, zobacz: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
źródło
To naprawiło:
rm Gemfile.lock
bundle install
jeszcze razEDYCJA: NIE RÓB TO W PRODUKCJI!
W sprawie produkcji przejdź do tej odpowiedzi: https://stackoverflow.com/posts/54083113/revisions
źródło
Gemfile.lock
powinno być traktowane jako ostateczność, ponieważ może prowadzić do innych problemów.Powodem jest twoje obecne środowisko rubinowe, masz inną wersję bundlera z wersją w
Gemfile.lock
.Gemfile.lock
, nic to nie zepsuje, jeśli wydarzy się coś nie do zniesienia.Gemfile.lock
i uruchombundle install
.źródło
1.17
Użyjgem install bundler -v 1.17
Jeśli zmieniłeś
rvm use
używaną wersję ruby , usuń Gemfile.lock i spróbuj ponownie.źródło
Otwórz Gemfile.lock, który znajduje się w katalogu głównym folderu aplikacji. Przewiń do końca pliku i zobacz używaną wersję pakietu. Następnie upewnij się, że zainstalowałeś używaną wersję pakietu:
Lub - usuń plik Gemfile.lock i pakiet, jeśli masz zainstalowaną wyższą wersję pakietu.
Wybór należy do ciebie, przyjacielu.
źródło
Gemfile.lock
folderze, załatwiło sprawę!aby zainstalować pakiet, który pasuje do twojego
Gemfile.lock
zastosowania:źródło
W moim przypadku powyższe sugestie nie działały dla mnie. Mój był trochę inny scenariusz.
Kiedy próbowałem zainstalować
bundler
przy użyciugem install bundler
.. Ale dostawałempotem próbowałem użyć,
sudo gem install bundler
a potem dostawałempotem próbowałem z
sudo gem install bundler -n /usr/local/bin
(po prostu nie/usr/bin
działa w moim przypadku).A następnie pomyślnie zainstalowany
bundler
EDYCJA: Używam MacOS, może
/usr/bin
z tego powodu nie działa dla mnie ( https://stackoverflow.com/a/34989655/3786657 komentarz)źródło
Miałem dzisiaj ten sam problem. I rozwiązać ten problem poprzez usunięcie każdy
PATH
w.bashrc
dla starszychrvm
.źródło
Mój problem polegał na tym, że korzystam z RVM i aktywowałem niewłaściwą wersję Ruby ...
Mam nadzieję, że pomoże to przynajmniej jednej osobie
źródło
Dodając do wielu odpowiedzi, mój problem wynikał z chęci użycia rubinu dokera jako podstawy, ale następnie z użyciem rbenv na górze. To psuje wiele rzeczy.
Naprawiłem to w tym przypadku przez:
Następnie rbenv działał dobrze. Nie jestem pewien, jak ładowały się te zmienne env.
źródło
W moim przypadku obniżyłem ruby z 2.5.x do 2.4.x.
źródło
Musiałem zrobić
rake clean --force
. Potemgem install rake
tak się stało i tak dalej.źródło