【问题标题】:Rails Dysfunctional, requiring rack 1.3.5, have 1.4.0 but can't install 1.3.5Rails Dysfunctional,需要机架 1.3.5,有 1.4.0 但无法安装 1.3.5
【发布时间】:2012-01-09 20:54:01
【问题描述】:
$ rails

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in `report_activate_error': RubyGem version error: rack(1.4.0 not ~> 1.3.5) (Gem::LoadError)
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
            from /usr/bin/rails:18

然后我试试这个:

$ sudo gem install rack 1.3.5

密码:

成功安装 rack-1.4.0

错误:在本地或存储库中找不到 gem 1.3.5

已安装 1 个宝石

正在为 rack-1.4.0 安装 ri 文档...

无法读取 termcap 数据库;

使用哑终端设置。

正在为 rack-1.4.0 安装 RDoc 文档...

然后又是不同的:

rails
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.0 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
    from /usr/bin/rails:18

【问题讨论】:

    标签: ruby-on-rails gem installation rack


    【解决方案1】:

    您必须安装机架 1.3.5 并移除机架 1.4.0

    sudo gem install rack -v 1.3.5
    sudo gem uninstall rack -v 1.4.0
    

    【讨论】:

      【解决方案2】:

      安装特定版本的命令是

      sudo gem install rack --version=1.3.5
      

      你写的是试图找到一个名为 1.3.5 的 gem

      【讨论】:

      • 谢谢,但不幸的是,这也不起作用。重新安装了所有东西,但现在使用 heroku 和 git 遇到了路径问题:
      • git push heroku 大师!路径无效。 !语法是: git@heroku.com:.git 其中 是您的应用程序的名称。致命:远端意外挂断
      • 这听起来与这个问题完全无关——你的 git 配置搞砸了
      • 谢谢,.git/config 有 url = git@heroku.com:secendapp.git.git,我删除了第二个 .git 和 eevrythings 现在工作。知道它是如何到达那里的吗?
      【解决方案3】:

      我相信这是因为机架 gem 版本。

      给出命令gem list rack

      它显示了所有机架 gem 版本,之后我卸载了所有机架版本并运行 bundle 命令希望您在 Gemfile 中指定您想要的机架版本。

      我相信这是因为如果您在 Gemfile 中指定了机架版本,并且如果 gems 包含的版本大于该版本,则会导致错误。

      所以尝试卸载所有 rack gems 并运行 bundle 命令。

      希望对你有所帮助。

      【讨论】:

        猜你喜欢
        • 2013-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-27
        • 2023-03-07
        • 2016-10-26
        • 2011-04-22
        • 1970-01-01
        相关资源
        最近更新 更多