ぽっちぽちにしてやんよ

技術ネタとかアプリに関する話とか

[RubyMotion] Bundlerを使って楽をしてみた!

昨日Using Bundler With Rubymotionという記事が投稿されて,話題になっていたので早速ためしてみた.

記事の内容的には,色々requireしたりgem installしたりするのめんどくさいよね!それbundle使えばできるよ!てな感じでした.

やってみよう!

何はともあれ,bundlerを入れます.

$ gem install bundler

Rakefilerequire 'motion/project'の下辺りに

require 'bundler'
Bundler.require

を追加しておきます.

あとは,Gemfileを作成して

$ cat > Gemfile
source :rubygems

gem "rake"
gem "motion-testflight"

とかして保存しておきます.あとは,

$ bundle install

と実行すれば,自動的にgemを入れてくれます.

$ rake testflight

とか打てば,Rakefilerequire 'motion-testflight' とか書かなくてもOKです!

上記のはmotion-testflightでやっているのは訳があって, motion-testflightは実はgem installだけでは完結していなくて, TestFlight SDKをダウンロードしてvendor/testflightに入れないとダメなんですねー.残念です.

ここらへんどうすればいいんだろう,,,?僕はRuby畑の人ではないので,どうすればいいのかよく分からないです.Gemfileにダウンロードするスクリプトとか書けばいいの?(書けるの?)

One more thing

んで,そのbundleの記事に反応していた中で

という意見がありましたので,やってみました.

$ bundle install --path vendor/bundle

とやると,vendor/bundle以下にruby/<version>/gemsやらなんやら色んなファイルが出来てました.

これでシステムグローバルに入れるのではなくて,そのProject内にgemsをインストールしているわけですね.

その後は,いつもどおりrakeでいいのかな?と思ったのですが,

$ rake
Could not find rake-0.9.2.2 in any of the sources
Run `bundle install` to install missing gems.

とかいう警告が出てました. しかし,rake自体は成功している模様.よく分からない.

$ bundle exec rake

とやる必要があるのかな?と思ったのですが,同じメッセージが出てました. ここらへんはbundler詳しくないのでよく分からない,,,

何か分かったら教えて頂けるとありがたいです!

Comments