Podczas próby uruchomienia pojawia się następujący błąd cap production deploy
.
DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation
DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue.
DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
Może być ważne, aby zauważyć, że to wdrożenie działało, ponieważ zaktualizowałem Ruby do wersji 2.1.0, aby usunąć błąd kodowania. Zaktualizowałem lokalnie, co działało dobrze. Uruchomiłem, rvm install 2.1.0
a rvm use 2.1.0
następnie zmieniłem .ruby-version
plik, aby odzwierciedlić to uaktualnienie Rubiego.
bundle install
Komenda działa lokalnie, ale daje ten sam błąd powyżej kiedy ssh na serwerze docelowym i uruchomić to polecenie.
Jeśli biegnę gem list
, widzę to na liście klejnotów.
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
Jeśli wypróbuję zalecane rozwiązanie gem install json -v '1.8.1'
Lokalnie i na serwerze docelowym, otrzymam następujące dane wyjściowe:
Building native extensions. This could take a while...
Successfully installed json-1.8.1
Parsing documentation for json-1.8.1
Done installing documentation for json after 0 seconds
1 gem installed
Wygląda na to, że klejnot jest zainstalowany, prawda? Dlaczego to się dzieje? Jak mogę to rozwiązać? Każda pomoc byłaby bardzo mile widziana.
źródło
bundle show json
ci daje?gem json, '1.8.1'
do Gemfilesudo apt-get install ruby-dev
na moim Ubuntu.Odpowiedzi:
$ bundle update json $ bundle install
źródło
Więc po pół dnia na tym i prawie natychmiast po wysłaniu mojego pytania znalazłem odpowiedź. Bundler 1.5.0 ma błąd polegający na tym, że nie rozpoznaje domyślnych klejnotów, o których mowa tutaj
Rozwiązaniem była aktualizacja do bundlera 1.5.1 przy użyciu
gem install bundler -v '= 1.5.1'
źródło
gem install json -v '1.8.1'
po aktualizacji naprawiło komunikat o błędzie.gem install json -v '1.8.1'
a następniebundle package
załatwił miUruchom to polecenie, a wszystko będzie dobrze
sudo apt-get install libgmp-dev
źródło
jeśli korzystasz z MacOS Sierra, a Twoja wersja Ruby to 2.4.0. Wersja Ruby nie jest kompatybilna z json 1.8.3.
Możesz spróbować dodać tę linię do swojego pliku Gemfile:
gem 'json', github: 'flori/json', branch: 'v1.8'
To działa dla mnie!
źródło
Aby rozwiązać ten problem, po prostu uruchom:
bundle update
Zaktualizuje wersję twojego pakietu. Następnie uruchomić:
bundle install
Twój problem zostanie rozwiązany. Rozwiązanie jest dobrze wyjaśnione tutaj .
źródło
bundle update
tym instalacja działała świetnie. Dziękuję za czyste rozwiązanie.bundle update
zaktualizuje wszystkie twoje klejnoty.gem update bundler
zaktualizuje pakiet.Tutaj znalazłem rozwiązanie . Występuje problem z wersją json 1.8.1 i ruby 2.2.3, więc zainstaluj wersję json 1.8.3.
gem install json -v1.8.3
źródło
Gemfile.lock
a następnie po prostu uruchamiambundle install
i to wszystko.Powinieneś spróbować
$ sudo gem install json -v '1.8.2'
w moim przypadku (Ubuntu 14.04) to nie działało bezpośrednio i musiałem to zrobić:
$ sudo apt-get install ruby-dev
a potem mogłem zainstalować klejnot i kontynuować. Miałem jeszcze jeden problem, który został rozwiązany przez:
$ sudo apt-get install libsqlite3-dev
Nadzieja pomaga.
źródło
Jeśli zalecana odpowiedź nie pomogła, ponieważ używasz już nowszej wersji pakietu. Wypróbuj rozwiązanie, które zadziałało dla mnie.
Usuń wszystko z folderu dostawcy. Dodaj linię do swojego gemfile
gem 'json', '1.8.0'
Następnie uruchom -
bundle update json
.Wydaje się, że jest to problem z wersją 1.8.1, więc powrót do wersji 1.8.0 załatwił sprawę.
źródło
gem 'json', '1.8.6'
mnie zadziałało. Może zechcesz tego spróbować.Napotkałem ten błąd podczas próby uruchomienia projektu na moim lokalnym dev boxie (OSX 10.6), używając Sinatra i Postgresql (przez activerecord), działając na rvm'd ruby 2.1. Znalazłem swoją odpowiedź tutaj: https://github.com/wayneeseguin/rvm/issues/2511
Mój dokładny problem (po pierwszym bloku wpisów w logu):
odpowiedź :
Wyjaśnienie :
Ze względu na kompletność, najpierw zapomniałem zaktualizować rvm (
rvm get head
), co spowodowało kilka innych błędów, ale--disable-binary
po wykonaniu tej czynności nadal potrzebowałem flagi.źródło
rvm list
, a zobaczysz, jaka jest twoja aktualna wersja. Użyj pełnego łańcucha (np. Ruby-2.0.0-p451) zamiast2.1.0
wspomnianego powyżej.bundle update json
. Pomógł się przedostać.źródło
Kiedy próbowałem zainstalować gem json używając
gem install json
oddzielone od tylko przy użyciubundle install
mamERROR: Failed to build gem native extension.
, patrząc w górę, że znalazłem za pomocąapt-get install ruby-dev
załatwił sprawę
źródło
W przypadku OS X upewnij się, że masz coreutils
$ brew install coreutils $ bundle
źródło
Wygląda na to, że jest to błąd w programie Bundler, który nie rozpoznaje domyślnych klejnotów zainstalowanych wraz z ruby 2.x. Nadal miałem problem nawet z najnowszą wersją bundlera (1.5.3).
Jednym z rozwiązań jest po prostu usunięcie json-1.8.1.gemspec z domyślnego katalogu gemspec.
rm ~/.rubies/ruby-2.1.0/lib/ruby/gems/2.1.0/specifications/default/json-1.8.1.gemspec
Po wykonaniu tej czynności bundler nie powinien mieć problemu ze zlokalizowaniem klejnotu. Zauważ, że używam chruby. Jeśli używasz innego menedżera ruby, będziesz musiał odpowiednio zaktualizować swoją ścieżkę.
źródło
Brakowało mi rozwiązania nagłówków C było pobranie go dla Xcode, to najlepszy sposób.
xcode-select --install
Mam nadzieję, że to pomoże.
źródło
Pakiet nie mógł zainstalować json -v '1.8.1', a usunięcie mojego pliku Gemfile.lock i ponowne uruchomienie pakietu rozwiązało ten problem.
źródło
Zainstalowałem najnowszą wersję json:
gem install json
Następnie usunąłem wiersz json (1.8.1) z Gemfile.lock i zrobiłem
bundle install
A potem plik Gemfile.lock używa json (1.8.3) bez błędów
źródło
Zmiana wersji Ruby z 1.9 na 2.2 z rvm załatwiła sprawę za mnie
źródło
Dla mnie niektóre z wymienionych wcześniej odpowiedzi były pomocne ze zrozumienia, ale nie rozwiązały mojego problemu.
Więc to właśnie zrobiłem, aby rozwiązać problem.
Bundler -v
polecenie). Miałem zainstalowaną wersję 1.12.5gem install bundler -v '1.11.2'
)źródło
W przypadku macOS Sierra:
Napotkałem ten błąd, gdy użyłem bundler (
v1.15.3
) wv4.2
projekcie Rails ( ). Rozwiązaniem dla mnie jestgem uninstall bundler -v '1.15.3'
igem install bundler -v '1.14.6'
.źródło