当我使用rails new projectname -d mysql
创建一个新的rails项目(在Windows上)时,它会创建所有文件,然后在尝试执行bundle install
时返回此项:
C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendor/net/http/pe
rsistent/ssl_reuse.rb:70:in `connect': SSL_connect returned=1 errno=0 state=SSLv
3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/net/http/persistent/ssl_reuse.rb:70:in `block in connect'
from C:/Ruby193/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
from C:/Ruby193/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/net/http/persistent/ssl_reuse.rb:70:in `connect'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:750:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/net/http/persistent.rb:628:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/net/http/persistent.rb:570:in `connection_for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/net/http/persistent.rb:930:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/fetch
er.rb:195:in `fetch'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/fetch
er.rb:169:in `use_api'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/sourc
e/rubygems.rb:223:in `block in remote_specs'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/sourc
e/rubygems.rb:223:in `select'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/sourc
e/rubygems.rb:223:in `remote_specs'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/sourc
e/rubygems.rb:162:in `fetch_specs'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/sourc
e/rubygems.rb:66:in `specs'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:192:in `block (2 levels) in index'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:189:in `each'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:189:in `block in index'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/index
.rb:9:in `build'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:185:in `index'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:179:in `resolve'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:114:in `specs'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/defin
ition.rb:109:in `resolve_remotely!'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/insta
ller.rb:83:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/insta
ller.rb:14:in `install'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/cli.r
b:247:in `install'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/thor/task.rb:27:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/thor/invocation.rb:120:in `invoke_task'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/thor.rb:344:in `dispatch'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/vendo
r/thor/base.rb:434:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/bin/bundle:20:in
`block in <main>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/frien
dly_errors.rb:4:in `with_friendly_errors'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/bin/bundle:20:in
`<main>'
Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
我在Ruby 2.0中遇到了同样的错误,并认为这可能是问题,但Ruby 1.9.3(我用于此版本的版本)也发生了同样的事情。
答案 0 :(得分:1)
经过一段谷歌搜索后,我看到了一个向导,向您展示如何添加正确的SSL证书文件(原来是问题):
答案 1 :(得分:1)
我遇到了问题。我改变了宝石来源,然后问题就解决了。 首先,使用以下命令检查gem源:
gem sources -l
应该是&#39; https://rubygems.org/&#39;。
其次,使用以下命令删除gem源:
gem sources --remove https://rubygems.org/
第三,使用以下命令添加新的gem源:
gem sources -a http://rubygems.org/
如果您在中国,您还可以使用淘宝宝石来源:
gem sources -a http://ruby.taobao.org/
最后,没关系。
创建新项目时,如果遇到此问题。您可以在Gemfile文件中更改gem源。
更改宝石来源
这
source 'https://rubygems.org/'
到
source 'http://rubygems.org/'
如果您在中国,您还可以使用淘宝宝石来源:
source 'http://ruby.taobao.org/'
然后你应该运行以下命令:
bundle install
祝你好运!
我不擅长英语。所以,对不起。
答案 2 :(得分:0)
如果在linux上,请尝试安装libssl-dev
,然后从源代码重新编译openssl
。
sudo apt-get install libssl-dev
如果您从源代码编译ruby,请导航到ruby源并进入ext/openssl
目录。
在那里,做./configure && make && make install
看看你是否能够创建新的rails应用程序。