Rails - 了解宝石

时间:2011-05-26 17:22:24

标签: ruby-on-rails ruby-on-rails-3 gem bundler

我正在使用rails devise gem。我注意到一个区分大小写的错误,在最新版本的设备中修复了,所以我正在考虑升级。

在我的宝石文件中,我有:

gem 'devise', '~> 1.1.3'

当我运行捆绑包时,我得到:

Using devise (1.1.9)

为什么不同。我应该在我的gem文件中使用什么设置来升级到最新最好的?

由于

5 个答案:

答案 0 :(得分:2)

Gem声明中的~>表示Bundler可以安装任何版本直到下一个主要版本,因此在这种情况下,它可以安装任何版本的设备=> 1.1.3和< 1.2.0。

包含~>是一种很好的做法,因为这意味着如果gem正确使用版本控制,则安全更新是自动的;但是在生产环境中,你可能想要删除这个名字,并且只是静态设置你的宝石版本以避免问题。

要每次更新到最新版本的gem,只需使用以下内容而不使用第二个版本参数:

gem 'devise'

http://gembundler.com/gemfile.html查看有关Gemfile格式的更多信息。

答案 1 :(得分:0)

如果你知道你想要的版本号,试试这个(假设它是1.2.3):

gem 'devise', '1.2.3'

或者只是省略版本号

如果还没有发布,你可以指向它的github存储库。

答案 2 :(得分:0)

只需使用:

gem 'devise'

您将获得最新的稳定宝石:)

答案 3 :(得分:0)

不同之处在于,如果您想使用特定版本,只需在版本参数中添加“1.1.9”,就告诉Bundler在您的系统中使用1.1.3或此主要版本的gem。 / p>

答案 4 :(得分:0)

使用bundle update devise更新devse gem并bundle update更新所有gem(不建议使用)

http://jsbin.com/ihiqe4