bundle install
Centos 5.5에서 Rails 3 프로젝트를 실행할 때 오류와 함께 실패합니다.
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
보석을 수동으로 설치하려고 gem install multi_json -v '1.3.2'
하면 작동합니다. 다른 여러 보석에서도 동일한 문제가 발생합니다. RVM (1.12.3), ruby 1.9.2, bundler 1.1.3을 사용합니다.
고치는 방법?
답변
최신 정보
이제 나는이 답변에서 충분히 채굴 된 wh..err를 찾았습니다. 모든 사람들은 이것이 수정되어야한다는 것을 알아야합니다.
다시 : Ownatik을 통해 다시 SSL 인증서 확인 오류와 함께 번들 설치 실패
gem update --system
내 대답은 여전히 정확하며 아래에 나와서 참조하지 않는 경우 참조하십시오.
솔직히 가장 좋은 임시 해결책은
[…] 임시 해결 방법으로 gemfile에 ssl이 아닌 rubygems 버전을 사용하십시오.
사용자 Ownatik를 통해
이것이 의미하는 바는 Gemfile
Rails 애플리케이션 디렉토리 변경 의 맨 위에 있습니다.
source 'https://rubygems.org'
에
source 'http://rubygems.org'
참고 두 번째 버전인지 HTTP http 대신 의
답변
임시 솔루션으로 SSL gem 소스를 비 SSL로 교체하십시오.
- 보석 출처 -r https://rubygems.org/
- 보석 출처 -a http://rubygems.org/
답변
그 이유는 오래된 루비 젬입니다. 비 SSL 소스를 사용하여 시스템 부분을 먼저 업데이트해야합니다.
gem update --system --source http://rubygems.org/
(비 SSL 연결을 사용하여 시스템 부분을 일시적으로 업데이트).
이제 사용할 준비가되었습니다 gem update
.
답변
Mac을 사용하고 있고 최신 버전의 RVM (~ 1.20)을 사용하는 경우 다음 명령이 효과적입니다.
rvm osx-ssl-certs update
답변
이 문제는 이제 해결되었습니다. rubygems ( gem update --system
)를 업데이트하거나 openssl이 OS에서 최신 버전인지 확인하거나 여전히 작동하지 않는 다음 팁을 시도해보십시오. http://railsapps.github.com/openssl-certificate-verify-failed.html
답변
임시 솔루션 (Ownatik에서 언급 한 바와 같이) :
행을 포함하여 홈 경로에 .gemrc라는 파일을 작성하거나 수정하십시오. :ssl_verify_mode: 0
이것은 번 들러가 설치를 시도 할 때 SSL 인증서의 gem을 검사하지 못하게합니다.
* nix 디바이스의 경우 ‘홈 경로’는를 의미 ~/.gemrc
합니다. 원하는 /etc/gemrc
경우 만들 수도 있습니다 . Windows XP의 경우 ‘홈 경로’는를 의미 c:\Documents and Settings\All Users\Application Data\gemrc
합니다. Windows 7의 경우C:\ProgramData\gemrc
답변
windows7의 경우 여기 에서 cacert.pem 파일을 다운로드하고 environementvariable SSL_CERT_FILE을 인증서를 저장하는 경로로 설정할 수 있습니다.
SET SSL_CERT_FILE="C:\users\<username>\cacert.pem"
또는 스크립트에서 변수를 다음과 같이 설정할 수 있습니다 ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
<username>을 자신의 사용자 이름으로 바꾸십시오.