번 들러가 JSON gem을 설치하지 않는 이유는 무엇입니까?
실행하려고 할 때 다음 오류가 발생합니다 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.
인코딩 오류를 제거하기 위해 Ruby 2.1.0으로 업그레이드 한 것보다이 배포가 작동했다는 점에 유의하는 것이 중요 할 수 있습니다. 나는 잘 작동하는 로컬로 업그레이드했습니다. 나는 실행 rvm install 2.1.0
하고 rvm use 2.1.0
다음 내 변경 .ruby-version
이 루비 업그레이드를 반영하기 위해 파일을.
이 bundle install
명령은 로컬로 작동하지만 대상 서버에 ssh하고이 명령을 실행할 때 위와 동일한 오류가 발생합니다.
실행하면 gem list
보석 목록에서 볼 수 있습니다.
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
권장 솔루션을 gem install json -v '1.8.1'
로컬 및 대상 서버에서 시도 하면 다음과 같은 출력이 표시됩니다.
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
그래서 gem이 설치된 것 같죠? 왜 이런 일이 발생합니까? 어떻게 해결할 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
그래서 반나절 후에 내 질문을 게시 한 직후에 답을 찾았습니다. Bundler 1.5.0에는 여기에 언급 된 기본 gem을 인식하지 못하는 버그가 있습니다.
해결책은 다음을 사용하여 번 들러 1.5.1로 업데이트하는 것이 었습니다. gem install bundler -v '= 1.5.1'
$ bundle update json
$ bundle install
이 명령을 실행하면 모든 것이 정상입니다
sudo apt-get install libgmp-dev
MacOS Sierra에 있고 루비 버전이 2.4.0 인 경우 루비 버전은 json 1.8.3과 호환되지 않습니다.
Gemfile에 다음 줄을 추가 할 수 있습니다.
gem 'json', github: 'flori/json', branch: 'v1.8'
이것은 나를 위해 작동합니다!
이 문제를 해결하려면 다음을 실행하십시오.
bundle update
번 들러의 버전을 업데이트합니다. 그런 다음 다음을 실행하십시오.
bundle install
문제가 해결 될 것입니다. 해결책은 여기에 잘 설명되어 있습니다 .
여기서 해결책을 찾았습니다 . json 버전 1.8.1 및 ruby 2.2.3에 문제가 있으므로 json 1.8.3 버전을 설치하십시오.
gem install json -v1.8.3
당신은 시도해야
$ sudo gem install json -v '1.8.2'
제 경우에는 (Ubuntu 14.04) 직접 작동하지 않았고 이렇게해야했습니다.
$ sudo apt-get install ruby-dev
그런 다음 gem을 설치하고 계속할 수 있습니다. 해결 된 문제가 하나 더 있습니다.
$ sudo apt-get install libsqlite3-dev
희망이 도움이됩니다.
rvm'd ruby 2.1에서 실행되는 Sinatra 및 Postgresql (activerecord를 통해)을 사용하여 내 로컬 개발 상자 (OSX 10.6)에서 프로젝트를 실행하는 동안이 오류가 발생했습니다. 내 대답은 https://github.com/wayneeseguin/rvm/issues/2511 에서 찾았습니다.
내 정확한 문제 (로그 항목의 첫 번째 블록 이후) :
또한 gem의 네이티브 확장을 빌드하려고 할 때 오류가 발생합니다.
대답 :
rvm 재설치 2.1.0 --disable-binary
설명 :
OSX does not have a package manager so all libraries have to be installed manually by user, this makes it virtually impossible to link the binary dynamically, and as you can see there are problems with the (pseudo)statically linked binary.
For the sake of completeness, I had first forgotten to update rvm (rvm get head
), which yielded some other errors, but still needed the --disable-binary
flag once I had done so.
If the recommended answer didn't help because you are already using a newer version of bundler. Try the solution that worked for me.
Delete everything inside your vendor folder. Add a line to your gemfile
gem 'json', '1.8.0'
Then run - bundle update json
.
It seems to be an issue with 1.8.1 so going back to 1.8.0 did the trick for me.
bundle update json
. Helped to get through.
When I tried to install the json gem using gem install json
separate from just using bundle install
I got ERROR: Failed to build gem native extension.
, looking that up I found using
apt-get install ruby-dev
did the trick
For OS X make sure you have coreutils
$ brew install coreutils
$ bundle
This appears to be a bug in Bundler not recognizing the default gems installed along with ruby 2.x. I still experienced the problem even with the latest version of bundler (1.5.3).
One solution is to simply delete json-1.8.1.gemspec from the default gemspec directory.
rm ~/.rubies/ruby-2.1.0/lib/ruby/gems/2.1.0/specifications/default/json-1.8.1.gemspec
After doing this, bundler should have no problem locating the gem. Note that I am using chruby. If you're using some other ruby manager, you'll have to update your path accordingly.
I was missing C headers solution was to download it for Xcode, this is the best way.
xcode-select --install
Hope it helps.
Bundle was failing to install json -v '1.8.1' and deleting my Gemfile.lock and running bundle again solved this issue for me.
I installed the latest version of json:
gem install json
Then deleted the line json(1.8.1) from the Gemfile.lock and did a
bundle install
And then the Gemfile.lock file uses json(1.8.3) without erros
Switch ruby version from 1.9 to 2.2 with rvm did the job for me
For me, some of the answers mentioned earlier were helpful from understanding point of view, but those didn't solve my problem.
So this is what I did to solve issue.
- Modified gemfile.lock to update json (2.0.2) (Earlier, it was 1.8.3)
- Check the Bundler version installed (
Bundler -v
command). I had version 1.12.5 installed - Install bundler version 1.11.2 (using
gem install bundler -v '1.11.2'
) - Then run bundle install
For macOS Sierra:
I ran into this error When i used bundler(v1.15.3
) in Rails(v4.2
) project. The solution for me is gem uninstall bundler -v '1.15.3'
and gem install bundler -v '1.14.6'
.
참고URL : https://stackoverflow.com/questions/21095098/why-wont-bundler-install-json-gem
'program story' 카테고리의 다른 글
개체에 대해 LINQ를 사용한 페이징 (0) | 2020.10.06 |
---|---|
Android Studio의 에뮬레이터에 APK를 설치하는 방법은 무엇입니까? (0) | 2020.10.06 |
객체-관계형 매핑 프레임 워크 란 무엇입니까? (0) | 2020.10.06 |
Chart.js를 사용하여 도넛 차트 내부에 텍스트를 추가하는 방법은 무엇입니까? (0) | 2020.10.06 |
Socket.IO 1.0의 특정 ID로 메시지 보내기 (0) | 2020.10.06 |