本日v3.3がリリースされたCocos2d-xですが、まさかバージョンアップのたびにzipをダウンロードなんてしていないですよね?
複数バージョンを用意しておいて、必要に応じて切り替える方法をメモ。
githubからclone
cocos2d-xのリポジトリをcloneします
https://github.com/cocos2d/cocos2d-x
$ git clone https://github.com/cocos2d/cocos2d-x.git
$ cd cocos2d-x
$ python download-deps.py
$ git submodule update --init
過去にリリースされたバージョンはtagで管理されています
$ git tag
# 略
cocos2d-x-3.2alpha0
cocos2d-x-3.2rc0
cocos2d-x-3.3
cocos2d-x-3.3alpha0
cocos2d-x-3.3beta0
cocos2d-x-3.3rc0
cocos2d-x-3.3rc1
cocos2d-x-3.3rc2
任意のバージョンをチェックアウト、パスを通しましょう。
このあたりは本家のREADMEにもある手順を参考に。
ここでは例としてv3.3
を使ってみます。
$ git checkout cocos2d-x-3.3
$ ./setup.py
$ source ~/.bash_profile # 環境によってファイルは違う
ここまでで、ひとまず手動切り替えで排他的に複数バージョンを使うことはできるようになりました。
しかしこれでは、cocos2d-xのリポジトリに移動、チェックアウト中のタグを確認しなくてはバージョン確認できません。
これは、実はちょっと面倒な操作が必要になります。
さもダウンロードしたzipをそれぞれ展開したように、複数バージョンを同時にファイルシステム上に存在させるにはどうしたらよいでしょうか。
git-new-workdir
- git-new-workdir が便利 - #生存戦略 、それは - subtech
- Git で複数ブランチを同時に扱いたいなら git-new-workdir が便利 - てっく煮ブログ
- 1つのgitリポジトリに複数の作業ディレクトリを作る - Qiita
git-new-workdir
を使うにはパスを通しておく必要があります。ここでは割愛。
上記リンク先を参照ください。
cocos2d-x-3.3rc0
タグをホームディレクトリ配下のcocos2d-x/3.3rc0
に展開する場合は、以下。
$ git-new-workdir . ~/cocos2d-x/3.3rc0 cocos2d-x-3.3rc0
$ cd ../cocos2d-x/3.3rc0
これによって、複数回のzipダウンロードやgit clone
よりも手軽に各バージョンを使いわけることができます。
そして、パスにバージョンを明示的に含めることができますので、使用中バージョンの確認が容易になります。
$ echo $COCOS_CONSOLE_ROOT
ここまでで、表題の内容はおおむね達成されたかと思います。
残された問題としては、使用したいバージョンのディレクトリに都度パスを通す必要があるところです。
より便利にするならば、パスの管理もどうにかしたいところです。
ちゃんと確認してはいませんが setup.by
を使うと自動的に.bash_profile
に環境変数が記載されてしまうようです。
それを使わずに、うまいことパスを解決する術があれば望ましいですね。