小编Joh*_*hir的帖子

使用Ruby 1.9.3时"证书验证失败"OpenSSL错误

我在Mac OS 10.6.8上使用Ruby 1.9.3p0(使用rvm安装).当我尝试使用GitHub上托管应用程序模板创建一个新的Rails应用程序时,使用它(例如):

$ rails new myapp -m https://github.com/RailsApps/rails3-application-templates/raw/master/rails3-mongoid-devise-template.rb -T -O

我收到此错误消息:

/Users/me/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799:in `connect': SSL_connect 
returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
(OpenSSL::SSL::SSLError)

据我所知,Ruby语言解释器使用OpenSSL连接到GitHub来请求应用程序模板文件.GitHub要求使用SSL进行所有连接.连接失败,因为OpenSSL无法验证服务器证书.

我可以通过下载证书文件来解决问题:

$ cd /opt/local/etc/openssl
$ sudo curl -O http://curl.haxx.se/ca/cacert.pem
$ sudo mv cacert.pem cert.pem

使用Ruby 1.9.2我没有问题.为什么我得到Ruby 1.9.3的"证书验证失败"问题?这是一个Ruby 1.9.3错误吗?它是否特定于Mac OS 10.6.8?我的解决方案是解决这个问题的正确方法吗?

ruby openssl ruby-on-rails rvm ruby-on-rails-3.1

18
推荐指数
3
解决办法
3万
查看次数

执行rake db时出错:在Heroku上进行迁移

什么时候做

heroku run rake db:migrate

执行所有迁移然后,最后我总是得到以下消息:

/app/vendor/bundle/ruby/1.9.1/bin/rake: No such file or directory - pg_dump -i -s -x -O -f /app/db/structure.sql dan79p98fykovu

我无法在Heroku上将pg_dump添加到PATH.怎么处理这个?

ruby rake heroku database-migration

18
推荐指数
1
解决办法
3102
查看次数

git-svn如何知道dcommit到哪个分支?

我的回购是SVN,我用git进行所有开发.我们有一个标准的布局,我用我的初始化我的本地回购git svn init -s <url to repo>

这是我使用分支机构的工作流程:

# creates a new branch remotely
git svn branch new-branch-name

# switches to a branch or trunk locally
git reset --hard name-of-branch
git reset --hard trunk

# merge changes from trunk into a branch
git reset —hard name-of-branch
git merge trunk
git svn dcommit
Run Code Online (Sandbox Code Playgroud)

上面的最后一个命令将提交对分支名称分支的更改.我的问题是,git如何知道这一点?当我做git时reset --hard foo,到底发生了什么?

这可能只是关于git的一般性问题.每次我尝试研究回答我弄不清楚,如果SVN一体化是一个特例与否.

svn git git-svn

17
推荐指数
1
解决办法
1万
查看次数

在cron中设置路径,以便它可以找到ruby

我的红宝石在/ usr/local/bin中.无论何时找不到它,并且在我的cron文件顶部设置PATH也不起作用,我认为因为无论何时在新的bash实例中运行命令.

# this does not work
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin

# Begin Whenever generated tasks for: foo
0 * * * * /bin/bash -l -c 'cd /srv/foo/releases/20110429110637 && script/rails runner -e production '\''ActiveRecord::SessionStore::Session.destroy_recent(15)'\'''

# End Whenever generated tasks for: foo

我怎么能告诉我的ruby二进制文件在哪里?从/ usr/bin创建一个符号链接对我来说似乎很混乱,但我想这可能是唯一的选择.

这个问题提供了env :PATH, "..."在schedule.rb作为一个解决方案,但(一)我无法找到该功能的任何文档中的文档(二)它似乎并没有已经解决了提问者的问题,任何地方(不幸的是它需要不平凡转机时间让我试试吧). 实际更新它在这个页面的底部,我现在就试试吧.

更多信息

  1. 我无法修改cron命令,因为它是由when生成的
  2. 我验证了如果我用一个新的bash shell bash -l,/ usr/bin/env发现ruby就好了
  3. 我刚刚在cron中尝试使用/ bin/bash中的确切命令,从该用户的命令行开始,它运行正常.

所以,这很神秘......

ruby bash cron sh whenever

17
推荐指数
1
解决办法
9691
查看次数

每当我在rails中创建一个新项目时,"无效的gemspec in"和"Illformed requirements"(黄瓜问题)

每次我创建一个新项目时,我都会收到以下错误:

Adams-MacBook-Pro:for_testing adam$ rails new outsidein
Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]
Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

我已经更新了黄瓜和黄瓜铁路,但我得到了错误.我该怎么办?

ruby-on-rails cucumber

17
推荐指数
3
解决办法
2万
查看次数

什么时候 - 雷锁有益吗?

这篇长篇,详细而有趣的文章描述了以下历史和设计--thunder-lock:http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html

但它无法帮我决定何时需要它!

什么时候是--thunder-lock有益的?

python uwsgi

17
推荐指数
2
解决办法
8151
查看次数

为什么Git会在不问我的情况下记住并使用来自流产的rebase的冲突解决方案?

我在我的分支上做了一个改变 foo

git rebase master
Run Code Online (Sandbox Code Playgroud)

一些冲突解决方案,然后决定我不想这样做,并中止.

git rebase --abort
Run Code Online (Sandbox Code Playgroud)

所有分支日志历史看起来都很正常.现在我想再次开始相同的过程.

git rebase master
Run Code Online (Sandbox Code Playgroud)

当git遇到它第一次遇到的第一个冲突时,它会像以前一样列出冲突的文件.但不是用<<<<<等标记冲突,它只是在我第一次解决冲突后才显示文件处于其状态.有趣的是它有这个功能......但我实际上想要以不同的方式解决其中一个冲突,所以我不希望它记住并重新应用.

到底发生了什么,我能把它关掉吗?

git conflict rebase

16
推荐指数
2
解决办法
4440
查看次数

实时应用:Socket.io vs Pusherapp

Socket.ioPusherapp之间进行选择时,您会考虑哪些因素?重要的考虑因素包括:与rails/django等现有系统集成,易于设置,易于开发.

javascript django ruby-on-rails real-time websocket

15
推荐指数
1
解决办法
4821
查看次数

何处将Rack :: Deflater插入机架?

我目前有以下内容:

use Rack::Rewrite
use Rack::Cache, {:verbose=>true, :metastore=>"memcached://localhost:11211/rack-cache/meta", :entitystore=>"memcached://localhost:11211/rack-cache/body"}
use Rack::Rewrite
use Rack::Lock
use Rack::Deflater
use ActionController::Failsafe
use #<Class:0x007fb34be9ac90>
use ActionController::Session::DalliStore, #<Proc:0x007fb34bea3638@(eval):8 (lambda)>
use Rails::Rack::Metal
use ActionController::ParamsParser
use Rack::MethodOverride
use Rack::Head
use ActionController::StringCoercion
use Sass::Plugin::Rack
use Hassle
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
run ActionController::Dispatcher.new
Run Code Online (Sandbox Code Playgroud)

我可能错了,但将Deflater移到顶端是没有意义的吗?这样任何和所有流量都被gzip压缩.

谢谢您的帮助.

ruby gzip rack ruby-on-rails

14
推荐指数
2
解决办法
8853
查看次数

Rails如何在公共场合提供静态内容?

公共服务中提供静态内容的红宝石代码有多少?它完全通过rails应用程序吗?它是否使用Rack :: Static

rack ruby-on-rails

14
推荐指数
2
解决办法
7107
查看次数