Mac
Windows
Linux
Node.js
Cordova

Mac/WindowsでCordovaの環境を複数用意する

はじめに

普通にnpmでグローバルにcordovaを入れてしまうと、一つのバージョンのcordovaしか使えません。

そこで、複数のバージョンcordovaを使いたい場合の方法をまとめました

Mac/Linuxの場合

MacやLinuxでは、適当なディレクトリにcordovaをローカルとしてインストールし、インストールされたnode_modules/.bin/cordovaを呼び出せば、そのバージョンのcordovaを実行できます。

例えば、cordova 8.0.0を入れたいなら、適当なディレクトリ(ここではapp dirとします)を作成して

$ cd [app dir]
$ npm install cordova@8.0.0

そして、適当にパスの有効なディレクトリからシンボリックリンクを貼れば

$ cd [pathの有効なdir]
$ ln -s [app dir]/node_modules/.bin/cordova cordova80

以後は、cordova80で、cordova 8.0.0が使えるようになります。

Windowsの場合

まず、適当な作業ディレクトリにcordovaをインストールするところまでは、Mac/Linuxと同じでOKです。

> cd [app dir]
> npm install cordova@8.0.0

次に、pathの有効なディレクトリに cordova80.cmd ファイルを作成します。

その中身は、次のようになります。

cordova80.cmd
node "[app dir]\node_modules\cordova\bin\cordova" %*

[app dir]のところは、cordova 8.0.0をインストールしたディレクトリを指します。私の場合であれば、次のようになりました。

cordova80.cmd
node "C:\Users\knaito\Documents\App\cordova\cordova80\node_modules\cordova\bin\cordova" %*

これで、以後は cordova80 で、 cordova 8.0.0を呼び出すことができます。

node_modules\.bin\cordova ではなく、 node_modules\cordova\bin\cordova を呼び出しています。あまり深く調べた訳ではないのですが、これでうまくいっているようなので、このまま使っています。