Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用memcached运行服务器rails 2.3.5时出错_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 使用memcached运行服务器rails 2.3.5时出错

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

我使用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/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版本,但这是一个相当麻烦的过程
  • 摆脱
    Get\u进程\u mem
    gem。您可以使用命令行实用程序查看相同的信息,即进程消耗的内存,而无需安装任何gem例如,尝试
    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版本,但这是一个相当麻烦的过程
      • 摆脱
        Get\u进程\u mem
        gem。您可以使用命令行实用程序查看相同的信息,即进程消耗的内存,而无需安装任何gem例如,尝试
        top
        htop
        命令。

      谢谢您的回复。我理解我的问题,谢谢你的回答。我理解我的问题