• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 

 Passenger + Nginx でアプリケーションを起動しようとしたときに、下記のようなエラーが出ました。

   1  git://github.com/nzifnab/msgpack-rails.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)

 もちろん bundle install は実行済みです。msgpack-rails を使用するために、Gemfile に下記のような記述をしてあるのですが、色々調べたところ、Passenger が git からインストールした gem を認識してくれないようです。

   1  gem 'msgpack-rails', :git => 'git://github.com/nzifnab/msgpack-rails.git'

 bundle install --deployment で解決するという情報も見つけたのですが、これは vendor ディレクトリにgemを持ってくるため結構な時間がかかります。デプロイでは世代管理していて、デプロイ時に新しいディレクトリを作成してデプロイしているので、開発環境のサーバへデプロイするたびに時間がかかるのはちょっと困るので他の方法を探したところ、bundle package でOKという情報を見つけました。これはgemのキャッシュを vendor ディレクトリに持つもので、すぐに終わります。ただオプションで --all を指定しないと git 経由のgemをキャッシュしてくれないようです。

   1  bundle package --all

とすることで、git からの gem も見つけてくれるようになりました。

(参考サイト)deploying rails3 apps with bundler and phusion passenger: .bundle dir not found

posted by Png akanuma on Wed 25 Dec 2013 at 06:01

rvm の対話インターフェイスが変わってとまどったのでメモ。

普通に rvm install 2.0.0 とやると、インストールに必要なパッケージが足りていない場合に

   1  rvm requirements

が実行されて、sudo することを求められます。 これでは sudo できないユーザーでrvm install できないので、 足りないパッケージを root でインストールしてあげればいいのですが、 何が足りないのか教えてくれません。

足りないパッケージを知るには、一度

   1  rvm autolibs read-only

してから

   1  rvm install 2.0.0

すると、

   1  Missing required packages: ...

と教えてくれるので、これをインストールして再度 rvm install すれば ok です。

posted by Png genki on Wed 15 May 2013 at 08:43

SystemTimerのようにruby1.9以降では必要ないばかりか、インストールしようとするとコンパイルエラーが発生するような場合には、以下のようにGemfileの中で プラットフォームを指定して場合分けを行うことができます。

   1  gem 'SystemTimer', :platforms => :ruby_18

posted by Png genki on Tue 21 Aug 2012 at 18:42

現状ではrvm経由でMountain Lionにインストールできるrubyは1.9.3しか無いようですが、 1.8.7を使いたい場合は以下のようにすれば良いようです。

  • XQuartz をインストール
  • 以下を実行

   1  CC=/usr/local/bin/gcc-4.2 CPPFLAGS=-I/opt/X11/include rvm install 1.8.7

See Also:

posted by Png genki on Wed 15 Aug 2012 at 12:47

下記日程で第2回Chiyoda.rbを開催いたしますのでお知らせします。

今回はサイバーエージェントベンチャーズ様のStartup Base Camp 会議室 (東京都港区赤坂8-5-26 赤坂DSビル3階)をお借りして開催いたします。

お誘い合わせの上ふるってご参加ください。

posted by Png genki on Mon 19 Mar 2012 at 14:25

Pryで過去の実行結果にアクセスするには、_out_ 変数を配列のように使うことができます。

   1  [1] pry(main)> "Hello, " + "world!"
   2  => "Hello, world!"
   3  [2] pry(main)> _out_[1]
   4  => "Hello, world!"
   5  [3] pry(main)> _out_[-1]
   6  => "Hello, world!"

同様に、_in_ 変数を配列のように使って入力文字列にアクセスできるようです。

   1  [6] pry(main)> _in_[1]
   2  => "\"Hello, \" + \"world!\"\n"

posted by Png genki on Tue 6 Mar 2012 at 11:35

Pryで過去に入力した文字列にアクセスするには以下のようにすればok

   1  [1] pry(main)> "Hello, world!"
   2  => "Hello, world!"
   3  [2] pry(main)> Pry.history.to_a[-2]
   4  => "\"Hello, world!\""

posted by Png genki on Mon 5 Mar 2012 at 23:45

久々にrubygemsをリリースしました。

Rack::Requestで検索エンジンのbotからのアクセスかどうか判定します。

   1  request.bot? #=> true or false

これだけ。

githubで検索してみたら、個別に実装している例がたくさん見つかったわりに、単体で切り出されているものがあまりなさそうだったので作ってみました。

posted by Png genki on Sun 25 Dec 2011 at 06:05

.rvmrc ファイルを置いておくと自動的に使用するRubyのバージョンを切り替えられるので便利ですが、デプロイ先で利用する場合に毎回 .rvmrc を信頼するか Yes/No? と聞かれるのが自動化と相性が良くないので、

   1  % cd /path/to/.rvmrc
   2  % rvm rvmrc trust

しておくとその後何も聞かれなくなります。

posted by Png genki on Tue 13 Dec 2011 at 09:15

新しい地域Rubyコミュニティ Chiyoda.rb を発足いたしました。

千代田区周辺のRubyに縁のある企業に会場をお借りして定期的に会合を開催し、Rubyプログラマーの間で情報交換を行う場所を提供する事を目的としております。

株式会社万葉様のご協力により、第1回の会合を開催する運びとなりました。

Rubyistの皆様方におかれましてはお誘い合わせの上ご参加いただければ幸いです。 よろしくお願いいたします。

posted by Png genki on Mon 12 Dec 2011 at 19:52