Neh*_*nen 5 ruby rubygems ruby-on-rails
我只是刚开始使用ruby,在我按照教程学习时,没有解释如何收集某些宝石并将其放置在Gemfile中。我一直在复制和粘贴它们,并将它们放入我的Gemfile中,然后运行捆绑安装。
如何下载gem的特定版本及其依赖关系,并确保它们与我正在使用的rails版本兼容?
如果您没有指定 Gem 版本,Bundler 会根据您当前的 Rails 版本确定要安装的版本。通常,当 Bundler 无法安装您指定的版本时,它也会警告您。
gem 'gemname'
Run Code Online (Sandbox Code Playgroud)
这将安装与您的 Rails 版本兼容的任何版本。
gem 'gemname', '1.5'
Run Code Online (Sandbox Code Playgroud)
仅当 1.5 版支持您当前的 Rails 版本时,它才会安装。
gem 'gemname', '>=1.0'
Run Code Online (Sandbox Code Playgroud)
这将安装 1.0 或更高版本(如果可用且兼容)。
如果您想安装特定版本 (2.2) 但您知道 3.0 版本会破坏您的代码(一些 gem 会这样做,例如 Mailchimp gem),您可以指定最低版本和最高版本:
gem 'gemname', '>= 2.2.0', '< 3.0'
Run Code Online (Sandbox Code Playgroud)
由于它或多或少很常见,因此有一个快捷方式:
gem 'gemname', '~> 2.2'
Run Code Online (Sandbox Code Playgroud)
“~>”将匹配任何小于 3.0 的版本。它告诉 bundler 只安装 2.X,永远不会达到 3.0。
您要安装的每个 gem 都会告诉您哪个版本与您的 Rails 版本兼容。通常它会说最低版本号。例如boostrap gem:
https://rubygems.org/gems/bootstrap/versions/4.0.0.alpha3.1
如果您查看该站点,它会告诉您依赖项。它没有提到最低 Rails 版本,因此您可以始终安装最新版本:
RUNTIME DEPENDENCIES (2):
autoprefixer-rails >= 6.0.3
sass >= 3.4.19
DEVELOPMENT DEPENDENCIES (13):
actionpack >= 4.1.5
activesupport >= 4.1.5
capybara >= 2.6.0
compass ~> 1.0.3
jquery-rails >= 3.1.0
json >= 1.8.1
minitest ~> 5.8.0
minitest-reporters ~> 1.0.5
poltergeist >= 0
slim-rails >= 0
sprockets-rails >= 2.3.2
term-ansicolor >= 0
uglifier >= 0
Run Code Online (Sandbox Code Playgroud)
如果它在依赖项下指定 Rails 版本,如下所示:
rails >= 4
Run Code Online (Sandbox Code Playgroud)
这意味着您至少需要 Rails 4.0。
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |