Help us understand the problem. What is going on with this article?

複数バージョンのCocos2d-xを簡単、便利、管理

More than 5 years have passed since last update.

本日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を使うにはパスを通しておく必要があります。ここでは割愛。
上記リンク先を参照ください。

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に環境変数が記載されてしまうようです。
それを使わずに、うまいことパスを解決する術があれば望ましいですね。

marutanm
自己紹介を設定してみよう
ignis
累計7000万DL超のスマホアプリを自社企画・開発 ツール系からマンガ、ゲームなど幅広いジャンルのアプリを展開
http://1923.co.jp/service-information
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした