Mac OS XでCapistranoを使う方法

Mac OS XでCapistranoを使うためのインストール方法をご紹介します。

まず、MacPortsをインストールします。 MacPorts / downloadsから最新版(今日現在1.4.0)を落としてきます。.dmgの中に.pkgがあるので、ダブルクリックしてインストール。

その後、portのファイル群の更新をとりあえずしておきます。コマンドラインで以下のコマンドを実行。

$ sudo port sync
$ sudo port selfupdate

次に、Rubyのインストール。portコマンドを使ってインストールします。

$ sudo port install ruby

次に、RubyGemsをインストールします。

$ sudo port install rb-rubygems

次に、gemコマンドでCapistrano及び関連ライブラリをインストールします。

$ sudo gem install capistrano --include-dependencies

途中ERROR: While executing gem ... (Gem::GemNotFoundException)みたいなエラーが出ることがありますが、めげずに上のコマンドを実行しているとインストールされます。

次に、sshでパスワードを入力しているときにターミナルにパスワードが出てこないようにtermiosをインストールします。

$ sudo gem install termios

CapistranoはRubyライブラリのnet-ssh 1.1系と相性が悪いようなので、net-ssh 1.0.10に戻します。

$ sudo gem install net-ssh --version="1.0.10"
$ sudo gem uninstall net-ssh --version="1.1.2"

–version="1.1.2"というところはsudo gem search net-sshして出てくるインストール済みライブラリのうち、1.1がついているものすべてを指定してください。

これで、あとはcapコマンドでCapistranoが使えるようになります。

2 thoughts on “Mac OS XでCapistranoを使う方法”

  1. 情報ありがとうございます。現在Capistranoを試しているところなので、助かります。
    ところで、「CapistranoはRubyライブラリのnet-ssh 1.1系と相性が悪いようなので」というのはどこに障害が出るのでしょうか?

    私の環境(Mac OS X 10.4.10 Intel)では、rake remote:deploy 等はできるのですが、 rake remote:spinner で返ってきません ^^;

  2. 私の環境(Mac OS X 10.4.10 Intel)ではnet-ssh 1.1系を使っていると、SSH接続する際に「Net::SSH::HostKeyMismatch, fingerprint my_fingerprint does not match for myserver」というようなエラーが出て、SSH接続出来なくなってしまいました。
    net-ssh 1.0系だと、このエラーが出ないので、net-ssh 1.0系に戻して使っています。
    rake remote:deployということはCapistranoの少し古いバージョンをお使いですね(というのはRakeのとintegrationは、最近のCapistranoではdeprecatedになったので)。
    Capistranoのバージョンをあげてみてはいかがでしょうか。

Leave a Reply

Your email address will not be published. Required fields are marked *