Sapphire #3 : githubにガワだけのgemをおいた
githubに何もできない「ガワ」だけのgemをおいた。https://github.com/Matthew238/sapphire-exp-envに置いてある。これから、iseqを依存させたり、サンプルのSapphireプロトタイプを載せたいと思う。
jewelerを使ったgemの作成方法を詳しく書こうと思ったが、大半はgithubに使い方が書いてあるので、かいつまんでおこう。
- githubにアカウントを作る。
- 今回のような規模でプログラムソースが300MB以上になるのってそうそうないから、無料のでよい。
- rubygems.orgでもアカウントを作る。
- つくっておくと、gem install sapphire-exp-envでインストールできる。
- Linux/Ubuntuなどの場合、gitは当然のこと、git-core、 git-gui、git-docなどのパッケージも必要に応じてインストールしておく。
- 当然jewelerもインストールしておく: gem install jeweler
- rvmを使っているときは、使いたいgemsetを指定し、作業専用ディレクトリをつくり、.rvmrcも設定しておくとよい。
- sshの鍵を用意する。
- ~/.gitconfigの作成。
- githubのwebで"New Repository"を押して先にリポジトリを作成しておく。
- リポジトリにプッシュするファイル群を作成しておく:jeweler --create-repo sapphire-exp-env
- rake -Tを実行してエラーが出ないことを確認する。
- エラーがでたら対処する。おそらくbundle installを実行しろだの、gemが足りないだの言われることが多い。
- バージョンファイルを設定する:rake version:write MAJOR=0 MINOR=1 PATCH=0
- とりあえず最初のバージョンのgemをローカルないだけの環境を使ってインストール:rake install または sudo rake install
- インストールできたら、とりあえず0.1.0をリリース:rake release
- ここでrubygemsのアカウント情報を尋ねられるので、入力
- 後はRakefileのjewelerのインスタンスブロックに、gemの簡単な説明や詳細な説明に"TODO"と書かれているので、編集。
- これはcommit/releaseする前にやっておいてもよい。
- 開発、追加・変更・削除、コミット、バージョン変更、gemをリリースの繰り返し。
ファイルが増えてgit add . & git commitしてない場合は、gemとgithubに反映されないので注意。githubにはソースとgemが、rubygems.orgにはgemだけがアップされる。
(どこかまちがっていそうだ)