【问题标题】:RedMine + gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010RedMine + gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements 已弃用,将于 2010 年 8 月或之后删除
【发布时间】:2011-08-10 00:00:25
【问题描述】:

/redmine$ ruby​​ 脚本/服务器 -e 生产 => 启动 WEBrick => Rails 2.3.5 应用程序开始于http://0.0.0.0:3000 /home/siya/.rvm/gems/ruby-1.8.7-p330/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements 已弃用并将被删除2010 年 8 月或之后。使用#requirement /home/siya/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:589:in real_connect': Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql::Error) from /home/siya/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:589:inconnect'

当我重新启动我的应用程序时会出现此问题。事实上,昨天它运行良好。但是今天我试了很多,搜索了网络,但没有成功。

谷歌搜索后,我得到了一个更新系统的命令,即sudo gem update --system

现在出现新错误:

/home/siya/.rvm/gems/ruby-1.8.7-p330/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
    from /home/siya/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'

【问题讨论】:

    标签: mysql ruby-on-rails ruby redmine redmine-plugins


    【解决方案1】:

    将 rails 升级到最新版本(2.3.5 相当旧)。

    gem install rails --version 2.3.11
    

    您还需要更新 environment.rb 中的依赖项,以将 RAILS_GEM_VERSION 设置为 2.3.11

    Run rake rails:update
    

    测试! Rails 升级似乎很少是无缝的。你确实有一套广泛的单元测试,不是吗... :)

    【讨论】:

    • 我没有得到完美的命令。请帮助我。
    • 按照你的方式,系统陷入新错误。=> Rails 2.3.11 应用程序从 0.0.0.0:3000 开始 config.load_paths 在 Rails 3 中已弃用并删除,请使用 autoload_paths 代替 config.load_paths=在 Rails 3 中已弃用和删除,请改用 autoload_paths= 注意: SourceIndex.new(hash) 已弃用;来自 /home/siya/.rvm/gems/ruby-1.8.7-p330/gems/rails-2.3.11/lib/rails/vendor_gem_source_index.rb:100:in `new'。 /home/siya/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-2.3.11
    • 这只是一个弃用警告,它将在 Rails 3 中被弃用和删除。您使用的是 Rails 2.3.11,所以它应该仍然存在。如果你想清除它,在你的 application.rb 中,将 config.load_paths 更改为 config.autoload_paths。
    • 实际上我没有更新 Rails,因为我必须使用 rvm 1.8.7 运行 Redmine。但是现在运行服务器命令时会出现这个问题。 #<:gemdependency:0xb7375098> (NameError) 的未定义局部变量或方法 `version_requirements'
    • Rails 2.3.11 仍将在 ruby​​ 1.8.7 上运行,所以这应该不是问题。
    【解决方案2】:

    有时,在解决此类问题时。我们再次提出任何其他冲突。

    所以最好的部分是,只需采取 应用程序文件夹的备份和 公共文件夹。重新安装整个 轨道和红宝石。

    因为花了一整天的时间来解决这个问题。我遵循了这个程序。请不要浪费时间。

    【讨论】:

      猜你喜欢
      • 2011-04-26
      • 2019-05-08
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      相关资源
      最近更新 更多