すがブロ

sugamasaoのhatenablogだよ

jewelerによるgithubへのリポジトリ作成のいま

--create-repo での挙動について

では、 github 上のリポジトリ自体も --create-repo で作成していますが、現在リポジトリがない状態で実行すると以下のようになります。

sugamasao@GRAM% jeweler --rspec --create-repo hage
        create  .gitignore
        create  Rakefile
        create  LICENSE
        create  README.rdoc
        create  .document
        create  lib
        create  lib/hage.rb
        create  spec
        create  spec/spec_helper.rb
        create  spec/hage_spec.rb
        create  spec/spec.opts
Jeweler has prepared your gem in hage
/Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/git-1.2.5/lib/git/lib.rb:700:in `command': git push "origin" "master"  2>&1:ERROR: sugamasao/hage doesn't exist yet. Did you enter it correctly? (Git::GitExecuteError)
fatal: The remote end hung up unexpectedly
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/git-1.2.5/lib/git/lib.rb:562:in `push'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/git-1.2.5/lib/git/base.rb:307:in `push'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/jeweler-1.4.0/lib/jeweler/generator.rb:267:in `create_and_push_repo'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/jeweler-1.4.0/lib/jeweler/generator.rb:106:in `run'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/jeweler-1.4.0/lib/jeweler/generator/application.rb:29:in `run!'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/gems/jeweler-1.4.0/bin/jeweler:5:in `<top (required)>'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/bin/jeweler:19:in `load'
        from /Users/sugamasao/.rvm/gems/ruby-1.9.2-head/bin/jeweler:19:in `<main>'

んで、なんでかなーと思っていろいろ調べたんだけど、

sugamasao/hage doesn't exist yet. Did you enter it correctly?

というエラーメッセージの通りで github 上にリポジトリが無いとダメなようだ。
リポジトリを作ってから上記コマンドを実行すると、無事にスケルトンコードが生成されて push までされる。
んー、当時のエントリを書いたときはリポジトリ作成までやってくれたような気がしたのでこれだけのためにずいぶんハマってしまった。