rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

複数のrubyプログラム間での調整

2018 Sep. 15.

dir-a/a.rb  <= 主たる実行ファイル
    require "b.rb"

dir-b/Gemfile
    gem "gem-a"

dir-b/b.rb  <= a.rbがrequireするファイル
    require "bundler"
    Bundler.require  <= require "gem-a" が行われる
 
  dir-a/Gemfile に gem-a を書き込んでgemをインストールし、
  dir-a/をカレントディレクトリとして起動すれば、
  実行できる。
  dir-b/ のGemfileにgem-aを書き込んでいるだけではloadエラーとなる。

  シェルスクリプト内での記載例
    SRCPATH=$(readlink -f `which RUBY.rb`)
    pushd $(dirname ${SRCPATH})
    rbenv exec bundle exec $SRCPATH
    popd