Gemfileのバージョン指定支援ツール

  • 8
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

bundler-add

引数にgemの名前を渡すとgem gemname '~>version'を出力する。

$ gem install bundler-add
$ bundle add sinatra sinatra-contrib
gem 'sinatra', '~> 1.4.5'
gem 'sinatra-contrib', '~> 1.4.2'
$ bundle add minitest -g test,development
gem 'minitest', '~> 5.5.1', group: [:test, :development]

gemrat

引数にgemの名前を渡すとGemfileにバージョン付きで追記してbundle installを実行する。

$ gemrat sinatra sinatra-contrib
gem 'sinatra', '1.4.5' added to your Gemfile.
gem 'sinatra-contrib', '1.4.2' added to your Gemfile.
Bundling...

オプションでpessimistic operator(~>)を使うこともできる。groupの指定はできない。

safedep

Gemfile.lockからバージョン情報を取得してGemfileや*.gemspecに挿入する。

$ cat Gemfile
source 'https://rubygems.org'

gem 'rake'
$ bundle install
#$ safedep
Done.
$ cat Gemfile
source 'https://rubygems.org'

gem 'rake', '~> 10.4'

parserを使ってコードをパースして、メソッド名(gem, add_runtime_dependency, add_development_dependency, add_dependency)などを手がかりにgemを指定している箇所を検出してバージョン情報を書き込んでいる。


This document is licensed under CC0.