Ruby on rails 如何解决;“拒绝连接”;执行bin/rails(spring)命令时?
只要禁用Spring,我就可以在生产环境(FreeBSD 10)中执行Ruby on rails 如何解决;“拒绝连接”;执行bin/rails(spring)命令时?,ruby-on-rails,spring-gem,Ruby On Rails,Spring Gem,只要禁用Spring,我就可以在生产环境(FreeBSD 10)中执行rails-命令: # DISABLE_SPRING=1 bin/rails runner -e production 'p "test"' "test" # script/rails runner -e production 'p "test"' "test" 使用Spring,rails-命令失败,出现以下错误: # bin/rails runner -e production 'p "test"' /usr/loc
rails
-命令:
# DISABLE_SPRING=1 bin/rails runner -e production 'p "test"'
"test"
# script/rails runner -e production 'p "test"'
"test"
使用Spring,rails
-命令失败,出现以下错误:
# bin/rails runner -e production 'p "test"'
/usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/run.rb:20:in `initialize': Connection refused - "/tmp/spring/6e31dd16c1146fc209ac385f36aac9a1" (Errno::ECONNREFUSED)
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/run.rb:20:in `open'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/run.rb:20:in `server'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /usr/local/rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /s/usr-local/www/the_project/releases/20140724133941/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
对此有一些想法,spring服务器似乎无法启动或不允许您连接到套接字:
- 检查套接字文件和包含文件夹的权限和所有权
/tmp/spring
- 尝试删除套接字文件,将
上的文件夹权限更改为/tmp/spring
(仅排除这是根本原因),然后重新启动应用程序/服务器777
- 您是否检查了
是否正在实际运行?客户机会尝试恢复),但如果不起作用,则会得到spring/server
。尝试调试到spring源代码中econnreference
- 如果您认为服务器正在运行,
是否提供了任何信息?关于服务器进程,lsof | grep'/tmp/spring/6e31dd16c146fc209ac385f36aac9a1'
怎么说ps-ax | grep[processid]
- 它的输出是什么
- 尝试从日志文件中删除(查看消息)
PATH=$GEM\u HOME/bin:$GEM\u HOME/wrappers:$PATH来解决此问题。
为了确保只使用RVM的ruby,我还强制删除了系统ruby(1.9.3):pkg remove-f ruby
(注意:如果没有上面提到的路径设置,这将导致预期的错误env:ruby:没有这样的文件或目录
)
为了使更改生效,似乎需要使用killall ruby
。
也许一个
bin/spring-stop
也就足够了。我偶然发现了这个问题,并显示了连接到spring服务器时出现错误的消息
对我来说,解决方案非常简单:
spring stop
至此,我的db:migrate
任务成功完成。感谢您的提示,Wolfram。我以前检查过大部分东西。我在问题中添加了“更新1”。它包含对您的建议的回答。请注意,用户项目处于控制盘中。什么进程17260运行了四天?您是否尝试关闭所有服务器并重新启动?很高兴听到您解决了这个问题,我也有很多ruby/rvm问题。你不妨奖励我的答案,因为那些代表已经走了,非常感谢。:)我本来可以接受的,但我一直不在,直到现在我才看到你的评论。很抱歉
spring stop