Posted at

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

More than 3 years have passed since last update.


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.