捆绑安装找不到与宝石“捆绑包”兼容的版本

时间:2019-02-27 08:31:47

标签: ruby-on-rails bundle

当我键入捆绑安装时,出现此错误。我试图找到解决方案,但没有任何解决方案。请帮助我。

 Bundler could not find compatible versions for gem "bundler":
      In Gemfile:
        rails (= 4.1.8) was resolved to 4.1.8, which depends on
          bundler (< 2.0, >= 1.3.0)

      Current Bundler version:
        bundler (2.0.1)
    This Gemfile requires a different version of Bundler.
    Perhaps you need to update Bundler by running `gem install bundler`?

    Could not find gem 'bundler (< 2.0, >= 1.3.0)', which is required by gem 'rails
    (= 4.1.8)', in any of the sources.

    Bundler could not find compatible versions for gem "rails":
      In Gemfile:
        rails (= 4.1.8)

        animate-rails was resolved to 1.0.10, which depends on
          rails

4 个答案:

答案 0 :(得分:5)

或者,您也可以完全删除捆绑器2.x,而仅使用捆绑器1.x:

gem uninstall bundler -v ">= 2.0" 
gem install bundler -v "< 2.0" 

# Now you can use bundler as before
bundle install

答案 1 :(得分:1)

您的捆扎机宝石太大。您现在可以通过更改gemfile来指定较低版本,然后再次删除锁定文件来降级。

宝石'bundler','1.17.1'

然后在终端中尝试这些命令 gem安装捆绑程序-v 1.17.1 gem卸载捆绑程序-v 2.0.1 捆绑更新--bundler 捆绑安装

最后一个安装命令可能是多余的。我正在打电话,很遗憾我无法测试任何东西。

祝你好运!

编辑:

这是Heroku问题。得到它了。关于Bundler的Heroku文档

  
    

Libraries     该平台使用以下库来管理和运行> Ruby应用程序,因此无法指定。为了解决应用程序依赖关系并进行管理,捆绑程序是根据Gemfile.lock的内容安装的。如果您的Gemfile.lock文件中有BUNDLED WITH,则您将收到其他版本的Bundler:

  
     

在其Gemfile.lock中指定Bundler 2.x的应用程序将收到捆绑程序:2.0.1   在其Gemfile.lock中指定Bundler 1.x的应用程序将收到捆绑程序:1.15.2   Gemfile.lock中没有BUNDLED WITH的应用程序将默认为bundler:1.15.2   有关可用设置的更多信息,请参阅捆绑程序配置。有关为什么我们仅支持特定的捆绑软件版本的更多信息,请参阅有关捆绑软件版本的这篇文章。

因此,Heroku似乎仅允许某些版本的Bundler兼容,因此相关文档已链接。降级至1.15.2,再试一次。

答案 2 :(得分:0)

尝试使用

# edit.html.erb
<h3>Order Detail</h3>
<div id="field">
  <div id="field0">
    <%= render 'form', order_detail: @order_detail %>
  </div>
</div>   

# _form.html.erb
<%= form_for @order_detail do |f| %> 
  <div class="form-group required">
    <label class="col-md-4 control-label" for="action_id">Delivery Date</label>  
    <div class="col-md-5">
      <%=f.text_field :delivery_date, "data-provide" => 'datepicker', class: 'form-control input-md datepicker',id: 'selectDate2',placeholder: "Delivery date(yyyy-mm-dd)" ,required: true%>
    </div>
  </div>
  <div class="form-group required">
    <label class="col-md-4 control-label" for="action_id">Pdf File</label>  
    <div class="col-md-5">
      <%=f.file_field :pdf_file, class: 'form-control input-md' ,required: true%>
    </div>
  </div>
  <div class="actions">
    <%= submit_tag "Submit",class:"btn btn-success" ,remote: true%>
  </div>
<%end%>

答案 3 :(得分:0)

您不需要卸载最新版本的捆绑程序(尤其是如果您有其他应用程序的话)。

首先找到所需的捆绑器版本。 例如,运行if (dictionary.TryGetValue(name, out var outObject)) { outObject = myValue; } 后:

bundle install

我需要1.3.0和2.0之间的任何版本。因此,我会选择捆绑软件1.9。

然后,安装捆绑包:

Could not find gem 'bundler (>= 1.3.0, < 2.0)', which is required by gem 'rails (~> 4.2)', in any of the sources.

运行该捆绑程序版本以安装gem:

gem install bundler -v 1.9