有没有办法在运行捆绑包安装之前获取gem的版本(来自Gemfile.lock)

所以呢

我想在不运行捆绑安装的情况下获得Gem的版本。也就是说,我想弄清楚计划在不实际安装gem的情况下安装哪个版本的软件包。说从合并的Gemfile.lock(和Gemfile)中读取它。

有什么办法可以解决我计划安装的版本捆绑程序?

我需要这样做是因为我想在运行docker build时缓存昂贵的安装。

像rails(nokogiri)之类的宝石需要花费一些时间来安装,我想在运行捆绑安装之前的上一步中完成gem install rails -v ...。

为此,我需要事先获得rails版本

lacostenycoder

默认情况下,如果在Gemfile中未指定任何版本,运行bundle install将尝试安装与您项目中其余gem和ruby版本兼容的gem的最新版本。如果不存在,这将创建一个Gemfile.lock文件。如果已经将Gemfile.lock文件提交给git repo,则应安装Gemfile.lock中指定的版本。捆绑程序的要点是处理依赖项,以确保您的堆栈正常工作。

要查看当前使用的宝石捆绑包的版本,可以运行

bundle show rails

例如,您可能需要在Gemfile中指定ruby版本。

ruby '~> 2.5'  #

您可以像这样在Gemfile中指定gem的确切版本,只要它与堆栈的其余部分兼容,您应该可以依靠该版本来安装版本捆绑程序。bundle install如果有不兼容的gem版本,将抛出错误。

gem 'rails', '4.2.11' # this will always install only this version.

您也可以使用悲观运算符(~>)将其设置为仅进行次要更新

gem 'influxdb', '~> 0.6.1' # could go to 0.6.2 but never 0.7.0

您也可以设置最低版本,尽管这可能不是您所需要的。

gem 'pg_query', '>= 0.9.0'

如果您的存储库中已经有一个Gemfile.lock,则可以通过运行例如以下命令查看要安装的版本:

gem show rails

它将显示您的版本,并对其进行安装或不安装。

有关更多信息,请参见 bundle --help

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

有没有办法强制npm生成package-lock.json?

来自分类Dev

有没有办法从 package-lock.json 中提取 package.json?

来自分类Dev

Rails,已安装的Gem版本和Gemfile.lock版本

来自分类Dev

捆绑程序为什么不进行“更改” Gemfile.lock而没有真正的更改?

来自分类Dev

告诉gem使用Gemfile.lock内部的现有库

来自分类Dev

损坏的 Gemfile.Lock

来自分类Dev

运行“捆绑安装”在Gemfile.lock中将“ git://”更改为“ https://”

来自分类Dev

运行“捆绑安装”在Gemfile.lock中将“ git://”更改为“ https://”

来自分类Dev

根据 Gemfile.lock 中的版本回滚 gem

来自分类Dev

在不安装gem的情况下更新Gemfile.lock

来自分类Dev

有没有办法在模板中打印正在运行的Apache Velocity实例的版本?

来自分类Dev

有没有办法获取正在运行的数据库的名称?

来自分类Dev

有没有办法安装Chocolatey的早期版本?

来自分类Dev

有没有办法安装临时包?

来自分类Dev

SidekiqUniqueJobs::UnknownLock:没有实现`lock::all`

来自分类Dev

有没有办法获取liblapack.a的版本?

来自分类Dev

有没有办法获取liblapack.a的版本?

来自分类Dev

有没有办法问RubyGems的`gem`命令它可以并且将安装什么版本的gem?

来自分类Dev

带有“调试器” gem的RubyMine 6.0.2,无需修改Gemfile.lock?

来自分类Dev

任何捆绑命令都会清除Gemfile.lock文件内容

来自分类Dev

SQL Server:具有NO LOCK的VIEW但没有NO LOCK的情况下被调用

来自分类Dev

在emacs软件包系统中是否有与ruby项目中的gemfile和gemfile.lock等效的东西?

来自分类Dev

如果版本之间没有变化,有没有办法使Android应用程序不更新应用程序捆绑包部分?

来自分类Dev

是否需要删除Gemfile.lock?

来自分类Dev

Gemfile.lock包含合并冲突

来自分类Dev

使用Bundler解析Gemfile.lock

来自分类Dev

无法解决Gemfile.lock合并错误

来自分类Dev

heroku:Gemfile.lock上的合并冲突

来自分类Dev

是否有执行死锁检测的Lock实现?

Related 相关文章

  1. 1

    有没有办法强制npm生成package-lock.json?

  2. 2

    有没有办法从 package-lock.json 中提取 package.json?

  3. 3

    Rails,已安装的Gem版本和Gemfile.lock版本

  4. 4

    捆绑程序为什么不进行“更改” Gemfile.lock而没有真正的更改?

  5. 5

    告诉gem使用Gemfile.lock内部的现有库

  6. 6

    损坏的 Gemfile.Lock

  7. 7

    运行“捆绑安装”在Gemfile.lock中将“ git://”更改为“ https://”

  8. 8

    运行“捆绑安装”在Gemfile.lock中将“ git://”更改为“ https://”

  9. 9

    根据 Gemfile.lock 中的版本回滚 gem

  10. 10

    在不安装gem的情况下更新Gemfile.lock

  11. 11

    有没有办法在模板中打印正在运行的Apache Velocity实例的版本?

  12. 12

    有没有办法获取正在运行的数据库的名称?

  13. 13

    有没有办法安装Chocolatey的早期版本?

  14. 14

    有没有办法安装临时包?

  15. 15

    SidekiqUniqueJobs::UnknownLock:没有实现`lock::all`

  16. 16

    有没有办法获取liblapack.a的版本?

  17. 17

    有没有办法获取liblapack.a的版本?

  18. 18

    有没有办法问RubyGems的`gem`命令它可以并且将安装什么版本的gem?

  19. 19

    带有“调试器” gem的RubyMine 6.0.2,无需修改Gemfile.lock?

  20. 20

    任何捆绑命令都会清除Gemfile.lock文件内容

  21. 21

    SQL Server:具有NO LOCK的VIEW但没有NO LOCK的情况下被调用

  22. 22

    在emacs软件包系统中是否有与ruby项目中的gemfile和gemfile.lock等效的东西?

  23. 23

    如果版本之间没有变化,有没有办法使Android应用程序不更新应用程序捆绑包部分?

  24. 24

    是否需要删除Gemfile.lock?

  25. 25

    Gemfile.lock包含合并冲突

  26. 26

    使用Bundler解析Gemfile.lock

  27. 27

    无法解决Gemfile.lock合并错误

  28. 28

    heroku:Gemfile.lock上的合并冲突

  29. 29

    是否有执行死锁检测的Lock实现?

热门标签

归档