首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将安装gemfile与特定版本的bundler捆绑在一起

如何将安装gemfile与特定版本的bundler捆绑在一起
EN

Stack Overflow用户
提问于 2020-05-20 02:28:38
回答 4查看 10.8K关注 0票数 12

我正在尝试捆绑安装一个运行gem 'rails', '4.2.0'的项目。运行Bundle install时,我得到:

代码语言:javascript
运行
复制
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 4.2.0) was resolved to 4.2.0, which depends on
      bundler (>= 1.3.0, < 2.0)

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

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

因此,我尝试安装Bundlerv1.3.0来成功地捆绑这个gemfile:gem install bundler -v 1.3.0

代码语言:javascript
运行
复制
gem list bundler shows me that I successfully installed bundler at v 1.3.0

然后,当尝试使用v1.3.0捆绑安装时,就像这样的bundle _1.3.0_ install,我得到Could not find command "_1.3.0_".

如何使用特定版本bundler成功运行捆绑包安装程序?

EN

回答 4

Stack Overflow用户

发布于 2020-05-29 14:08:09

基本上,您需要:

在本地machine.

  • Ability上安装
  1. Bundler (>= 1.3.0,< 2.0)以运行该捆绑程序版本。
  2. 运行该捆绑程序版本以安装您的应用程序(捆绑包安装)所需的其他gem。

首先,检查是否在本地机器上成功安装了Bundler (>= 1.3.0,< 2.0):

代码语言:javascript
运行
复制
$ gem list bundler 

您应该会看到:

代码语言:javascript
运行
复制
*** LOCAL GEMS ***
bundler (2.1.4, 1.17.3, 1.3.0)

如果没有,请安装它:

代码语言:javascript
运行
复制
$ gem install bundler -v "<2" -N
# Install lasted bundler below version 2
# -N: No document

其次,检查您是否可以运行该Bundler版本:

代码语言:javascript
运行
复制
$ bundle _1.17.3_ -v

您应该会看到:

代码语言:javascript
运行
复制
Bundler version 1.17.3

如果您安装了Bundler 1.17.3,但无法运行"bundle 1.17.3 -v",则说明您的RubyGems gem有问题。检查是否安装了更新版本(最新为3.1.3):

代码语言:javascript
运行
复制
$ gem -v

尝试更新RubyGems gem,因为它可以帮助您运行特定的gem版本:

代码语言:javascript
运行
复制
$ gem update --system

您应该会看到:

代码语言:javascript
运行
复制
Updating rubygems-update
...
Installing RubyGems 3.1.3
Successfully built RubyGem
    Name: bundler
    Version: 2.1.4
    File: bundler-2.1.4.gem
Bundler 2.1.4 installed
RubyGems 3.1.3 installed
Regenerating binstubs
...
------------------------------------------------------------------------------
RubyGems installed the following executables:
    /home/lqt/.rbenv/versions/2.7.1/bin/gem
    /home/lqt/.rbenv/versions/2.7.1/bin/bundle
...
RubyGems system software updated

如果可以运行特定的Bundler版本,请再次检查:

代码语言:javascript
运行
复制
$ bundle _1.17.3_ -v

如果您看到:

代码语言:javascript
运行
复制
Bundler version 1.17.3

然后,步骤3,只需运行Bundler 1.17.3来安装其他gem:

代码语言:javascript
运行
复制
$ bundle _1.17.3_ install
票数 16
EN

Stack Overflow用户

发布于 2020-05-20 04:46:29

您可以通过以下方式安装bundler 1.3版:

代码语言:javascript
运行
复制
gem install bundler -v 1.3

然后使用该特定版本安装gem:

代码语言:javascript
运行
复制
bundle _1.3.0_ [install]

希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2020-05-28 23:19:49

如果你使用的是错误版本的ruby gem,那么之前的bundler有一个bug。试一试

代码语言:javascript
运行
复制
gem update --system
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61898186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档