当前位置: 首页 > 知识库问答 >
问题:

Gem的未定义方法“source\u index”:模块(NoMethodError)

干照
2023-03-14

我正在运行Rails 2.3.5应用程序,在运行脚本/服务器时,我看到了以下内容:

./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
    from ./script/../config/boot.rb:60:in `load_initializer'
    from ./script/../config/boot.rb:44:in `run'
    from ./script/../config/boot.rb:17:in `boot!'
    from ./script/../config/boot.rb:123
    from script/server:2:in `require'
    from script/server:2

如果我在boot中注释掉第60行。rb(Rails::GemDependency.add\u freeze\u gem\u path)并运行脚本/服务器,我得到了以下结果:

=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:298:in `add_gem_load_paths'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:132:in `process'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
    from /home/developer/bigpink/config/environment.rb:13
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/railties/lib/commands/server.rb:84
    from script/server:3:in `require'
    from script/server:3

所以,我真的不知道该怎么办。希望我能得到一些快速的帮助。谢谢

共有3个答案

汪驰
2023-03-14

这帮助了我:http://djellemah.com/blog/2013/02/27/rails-23-with-ruby-20/

我将其与gem更新(system 1.8.25)结合使用,您的案例可能不需要它。

谷光誉
2023-03-14

对于rvm用户,

rvm install rubygems 1.8.2 --force
徐翔
2023-03-14

我自己在尝试将旧的Rails应用程序从REE 1.8.7升级到1.9.3-p385时遇到了这个问题。奇怪的是,Ruby 1.9.3-p327运行得很好。归根结底,ruby-1.9.3-p385为我安装了RubyGems版本2.0.2,1.9.3-p327安装了RubyGems版本1.8.23。

Gem。source_索引已经被弃用了一段时间,但由于Rails 2.3除了关键的安全补丁之外没有得到任何更新,这将永远不会得到修复。RubyGems v2.0最终删除了该方法。降级到2.0.0之前的任何rubygems版本,比如1.8.25,以暂时恢复功能。您可以使用gem update-system 1.8.25获得兼容版本。

重要的是,Rails 2.3.5至少需要更新到2.3.17。有一些严重的安全漏洞会让你面临一些非常恶劣的攻击。从长远来看,升级到3。x需要被视为一种非常强烈的需求。

 类似资料:
  • 问题内容: 因此,我正在使用RequireJS和React,尝试加载已安装的第三方组件: 结构在这里:https : //github.com/rackt/react- autocomplete/tree/master/lib 现在,我有一个main.js文件,它是在加载requireJS时启动的,看起来像这样: 现在,它们全部加载正常,但是第三条require语句为第三方组件中的main.js文

  • 本文向大家介绍Python import自定义模块方法,包括了Python import自定义模块方法的使用技巧和注意事项,需要的朋友参考一下 python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。 下面将具体介绍几种常用情况: (1)主程序与模块程序在同一目录下: 如下面程序结构:     若在程序test1.py中导入模块mod1, 则直接使用im

  • 我一直在做一个用Java编写国际象棋的项目。我有一个名为的抽象类,它有一个抽象方法和两个普通方法。每个棋子我都有一个类,它们都扩展了。 有一个类也代表棋盘,叫做。在这个类中,我有一个方法来检查给定位置的棋子是否属于另一个玩家。在这个方法中,我调用了一个来自类的方法,该方法获取名为的颜色。当我在一个棋子上调用这个方法时,它说“方法getColor()对于类型Piece是未定义的”,即使它是在类中创建

  • 问题内容: 这是我的代码: 我收到错误消息: 当我删除第一行时,我得到: 我到处搜索,人们到处都提到了Node.js的问题,但是我安装的Node是正确的,所以我不确定是什么问题。 问题答案: XMLHttpRequest是 Web浏览器中 的内置对象。 它不随Node一起分发;您必须单独安装它, 用npm安装 现在,您可以在代码中使用它。 var xhr = new XMLHttpRequest(

  • 我想为我的网站使用bootstrap(带node.js)。但我有以下错误: /var/www/node_modules/bootstrap/js/transition.js:59}(jQuery);^referenceerror:jQuery.(/var/www/node_modules/bootstrap/js/transition.js:59:3)在module.(/var/www/node_

  • Good day我不确定发生了什么我怀疑eclipse,但在UserDetailsServiceImpl中它是定义的,因为我实现了spring的UserDetails服务,下面是我的代码 这是让人头痛的一行“UserDetails UserDetails=userDetailsService.loadUserByUsername(username)”提前感谢您