2011年2月9日水曜日

RailsInstallerで、jewelerが上手く動かない

俺gemをメンテナンスしようと、gem install xxx => rake test しようとしたら、jewelerが上手く動きませんでした(stack level too deep)。

調べてみたら原因は簡単でした。jeweler.rbを少し修正すれば動きました。

def git_base_dir(base_dir = nil)
    if base_dir
      base_dir = File.dirname(base_dir)
    else
      base_dir = File.expand_path(self.base_dir || ".")
    end
    # return nil if base_dir==File.dirname("/") stack level too deep ! on windows
    return nil if base_dir==File.dirname("c:/") # quick fix
    return base_dir if File.exists?(File.join(base_dir, '.git'))
    return git_base_dir(base_dir)
  end

.gitディレクトリの無い状態で、上のフォルダにさかのぼって行く物の、ルート判定が *nixスタイルになっているからでした(windowsのルートはc:/とかです。)!

今日は眠いので本気対応は今度考えます

RailsInstallerを入れた後に、githubにつなぐには

RailsInstallerがかなり簡単らしいので、自宅のwindows7環境に入れてみた。
確かにOne Click!でインストールできました。


その後gemのメンテナンスをしたかったので、githubに接続するまでのメモを残しておきます。
(上記のinstallとgithubのアカウント持っている前提です。)


○スタート => すべてのプログラム => RailsInstaller => Command Prompt with Ruby and Rails
○git関係の設定を行う

> git config --global user.name "foobar" 
> git config --global user.email "foobar@baz.com" 
> git config --global core.autocrlf true 
> git config --global core.safecrlf true
> git config --global github.user foobar
↓https://github.com/accountのアカウント管理からAPIトークンを貼り付け
>git config --global github.token 0123456789abcdef0123456789abcdef


○githubのssh関係の設定を行う
> mkdir "%homedrive%%homepath%\.ssh"
> c:\RailsInstaller\Git\bin\ssh-keygen -t rsa -C "foobar@baz.com"
> cat "%homedrive%%homepath%\.ssh\id_rsa.pub" | clip
https://github.com/accountのアカウント管理からSSH公開鍵に追加する(クリップボードに張り付いているんのでペースト)


○gitからとりだす
> git clone https://github.com/josh/ruby-coffee-script.git (urlは一例です。)


■参考
http://groups.google.com/group/railsinstaller/msg/a06f5164682bd3cb?pli=1