ruby-on-rails - 如何像在旧的 Gemfile.lock 中一样恢复已安装的 gem 和所有依赖版本

标签 ruby-on-rails ruby rubygems

我有一个 Rails 4 应用程序。前段时间,在运行 bundle installbundle update 之后,我的应用程序开始出现问题。我发现 Faraday gem 导致了一些问题,并且由于其他一些 gem 依赖于它,所以我无法卸载它。然后我找到了我执行 bundle install/bundle update 命令之前的项目备份。当时我的应用程序运行良好。

当比较我的旧 Gemfile.lock 和当前的 Gemfile.lock 时,我看到一些 gem 现在有更新的版本。我相信这是应用程序问题的原因。

这些只是我当前 Gemfile.lock 中相关的 gem:

   oauth2 (1.3.1)
      faraday (>= 0.8, < 0.12)
      jwt (~> 1.0)
      multi_json (~> 1.3)
      multi_xml (~> 0.5)
      rack (>= 1.2, < 3)
    omniauth (1.4.2)
      hashie (>= 1.2, < 4)
      rack (>= 1.0, < 3)
    omniauth-oauth2 (1.4.0)
      oauth2 (~> 1.0)
      omniauth (~> 1.2)
    omniauth-yandex (0.0.2)
      omniauth (~> 1.0)
      omniauth-oauth2 (~> 1.0)

我的旧 Gemfile.lock 来自于应用程序运行良好时:

oauth2 (1.3.0)
  faraday (>= 0.8, < 0.11)
  jwt (~> 1.0)
  multi_json (~> 1.3)
  multi_xml (~> 0.5)
  rack (>= 1.2, < 3)
omniauth (1.3.2)
  hashie (>= 1.2, < 4)
  rack (>= 1.0, < 3)
omniauth-oauth2 (1.4.0)
  oauth2 (~> 1.0)
  omniauth (~> 1.2)
omniauth-yandex (0.0.2)
  omniauth (~> 1.0)
  omniauth-oauth2 (~> 1.0

我现在的和以前的 Gemfile 是一样的:

gem 'tinymce-rails'
gem 'mysql2', '~> 0.3.18'
gem 'humanizer'
gem 'globalize', '~> 4.0.3'
gem "paperclip", "~> 4.2"
gem 'remotipart', '~> 1.2'
gem 'mailcatcher', '~> 0.6.1' ,        group: :development
gem 'rufus-scheduler', '~> 3.1.2'
gem "omniauth-yandex"
gem 'friendly_id', '~> 5.1.0'
gem 'devise'
gem 'rest-client', '~> 1.8'
gem "cocoon"

是否有可能以某种方式将某些 gem 及其依赖项降级为旧 Gemfile.lock 中的版本?

我的应用程序需要只有 omniauth-yandex gem。

最佳答案

您应该尝试在您的文件中添加特定版本的 gem。这样您将拥有特定 gem 所需的依赖版本。

关于ruby-on-rails - 如何像在旧的 Gemfile.lock 中一样恢复已安装的 gem 和所有依赖版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457264/

相关文章:

javascript - 如何在javascript var中存储select_tag的值?

ruby-on-rails - 与 MRI Ruby 的并发请求

ruby - 遍历包含键/数组值对的散列,并遍历每个值

ruby - 在 Ruby 中传入多种数据类型?

ruby: irb 给出 NameError attempt to use mechanize gem (ubuntu)

ruby-on-rails - 用于 API key + key 签名的 Rails 插件

ruby-on-rails - "assigns"在 Ruby on Rails 中有什么作用?

arrays - 将两个范围加入二维数组 Ruby

ruby - 错误 : No such API key. 请将其添加到您的配置中(在初始 `gem push` 上自动完成)。如何解决这个问题?

c - Ruby C gem 运行之间的内存污染