【问题标题】:Rails4 new application creation - Bundler expecting version MySQL2 3.1.3?Rails4 新应用程序创建 - Bundler 期待 MySQL2 3.1.3 版本?
【发布时间】:2013-10-09 00:33:21
【问题描述】:

我开始在服务器上使用 MySQL2 3.1.0 gem 的地方试验 Rails 4。

在本地使用 Ruby 2.0,我安装了 MySQL2 3.1.0 Gem,那里一切都很好(匹配工作服务器上的 gem 版本基本上只是为了匹配生产服务器环境)。

当我创建一个新的应用程序(ruby new r4_test -d mysql)时,我遇到了一个问题。 Bundler 在新的应用程序创建过程中崩溃,抱怨缺少 MySQL2 3.1.3 文件。看起来 3.1.3(如果我没看错的话是 3 个月前发布的)是 MySQL2 Gem 的最高版本号。我对此感到困惑,因为安装在 Ruby 文件夹中的 MySQL2 的唯一版本是 3.1.0 版本。为什么 Bundler 会忽略已安装的 gem 并期望未在本地安装的更高版本?我跳过了 Rails3,所以我是 Bundler 的新手。它似乎不应该期待一个不是本地的版本。有时存在错误或其他问题,您也需要在旧版本的 gem 上停留一段时间。 ?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-4 bundler mysql2


    【解决方案1】:

    如果您的项目目录中还没有Gemfile.lock,Bundler 会尝试安装满足Gemfile 中版本标准的最新可用版本。因此,对于一个新的 Rails 项目,它会尝试安装默认生成的Gemfile 的最新依赖项。除非您已经拥有 Gemfile.lock,否则它实际上根本不会查看您安装的 gem。

    如果您不希望 Rails 在创建新项目时运行 bundle install,可以使用 --skip-bundle(或 -B)。这使您有机会首先自定义Gemfile。如果你想确保它会使用你已经安装的版本,你可以添加一个版本约束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 2017-07-01
      • 1970-01-01
      • 2012-04-03
      • 2012-02-10
      • 1970-01-01
      相关资源
      最近更新 更多