2013-10-02 32 views
0

我开始尝试使用Rails 4进行工作,我们在服务器上使用MySQL2 3.1.0 gem。Rails4新的应用程序创建 - Bundler期待版本MySQL2 3.1.3?

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

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

谢谢!

回答

0

如果您的项目目录中没有Gemfile.lock,Bundler会尝试安装符合Gemfile中版本条件的最新版本。因此,对于新的Rails项目,它将尝试安装默认生成的最新依赖关系Gemfile。除非你已经有Gemfile.lock,否则它根本没有看到你安装的宝石。

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

相关问题