Ruby on rails 使用memcached运行服务器rails 2.3.5时出错
我使用ruby版本1.8.7、gem版本1.3.5、rails版本2.3.5和memcache。我在运行服务器时遇到此错误Ruby on rails 使用memcached运行服务器rails 2.3.5时出错,ruby-on-rails,ruby,Ruby On Rails,Ruby,我使用ruby版本1.8.7、gem版本1.3.5、rails版本2.3.5和memcache。我在运行服务器时遇到此错误 phuongnm-lap:~/trunk/hurricane$ ruby script/server => Booting Mongrel => Rails 2.3.5 application starting on http://0.0.0.0:3000 /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundle
phuongnm-lap:~/trunk/hurricane$ ruby script/server
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in `require': /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/get_process_mem-0.2.0/lib/get_process_mem.rb:60: undefined (?...) sequence: /(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/ (SyntaxError)
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in `require'
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `require'
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
from /home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
from ./script/../config/boot.rb:41:in `load_gems'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:164:in `process'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from /home/asiantech/trunk/hurricane/config/environment.rb:34
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/commands/server.rb:84
from script/server:3:in `require'
from script/server:3
phoungnm-lap:~/trunk/hurricane$ruby-script/server
=>引导杂种狗
=>Rails 2.3.5应用程序从http://0.0.0.0:3000
/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in'require':/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/get\u process\u mem-0.2.0/lib/get\u process\u mem
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in'require'
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in'each'
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in'require'
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in'each'
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in'require'
from/home/asiantech/.rvm/gems/ruby-1.8.7-p374/gems/bundler-1.11.2/lib/bundler.rb:99:in'require'
from./script/./config/boot.rb:41:in'load_gems'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:164:in'process'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in'send'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in'run'
from/home/asiantech/trunk/hurricane/config/environment.rb:34
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active\u support/dependencies.rb:156:in'require'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active\u support/dependencies.rb:156:in'require'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active\u support/dependencies.rb:521:in'new\u constants\u in'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/activesupport-2.3.5/lib/active\u support/dependencies.rb:156:in'require'
from/home/asiantech/trunk/hurricane/vendor/bundle/ruby/1.8/gems/rails-2.3.5/lib/commands/server.rb:84
来自脚本/服务器:3:在“require”中
从脚本/服务器:3
请帮帮我 您的ruby版本太旧,无法运行
get\u进程\u mem
gem。gem使用解析来自linux服务器上的/proc
文件的信息。然而,Ruby1.8.7还不支持这样复杂的regexp
你可以在irb中看到自己。在ruby 1.8.7中,匹配失败:
"aaa" =~ /(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/
# => SyntaxError: compile error
# => (irb):1: undefined (?...) sequence: /(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/
“aaa”=~/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
#=>语法错误:编译错误
#=>(irb):1:未定义的(?…)序列:/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
而在ruby 2.2下,它工作正常(在这个测试用例中不会返回任何内容,但更重要的是,不会出现错误):
“aaa”=~/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
#=>零
您现在有几个选择:
- 如果可以,升级到更新的ruby(和rails),您将不必解决这些与旧代码相关的问题,也不再使用不受支持的ruby/rails版本,但这是一个相当麻烦的过程
- 摆脱
gem。您可以使用命令行实用程序查看相同的信息,即进程消耗的内存,而无需安装任何gem例如,尝试Get\u进程\u mem
或top
命令。htop
- 您的ruby版本太旧,无法运行
get\u进程\u mem
gem。gem使用解析来自linux服务器上的/proc
文件的信息。然而,Ruby1.8.7还不支持这样复杂的regexp
你可以在irb中看到自己。在ruby 1.8.7中,匹配失败:
"aaa" =~ /(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/
# => SyntaxError: compile error
# => (irb):1: undefined (?...) sequence: /(?<value>(\d*\.{0,1}\d+))\s+(?<unit>\w\w)/
“aaa”=~/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
#=>语法错误:编译错误
#=>(irb):1:未定义的(?…)序列:/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
而在ruby 2.2下,它工作正常(在这个测试用例中不会返回任何内容,但更重要的是,不会出现错误):
“aaa”=~/(?(\d*\.{0,1}\d+)\s+(?\w\w)/
#=>零
您现在有几个选择:
- 如果可以,升级到更新的ruby(和rails),您将不必解决这些与旧代码相关的问题,也不再使用不受支持的ruby/rails版本,但这是一个相当麻烦的过程
- 摆脱
gem。您可以使用命令行实用程序查看相同的信息,即进程消耗的内存,而无需安装任何gem例如,尝试Get\u进程\u mem
或top
命令。htop