自分のマシンでExercismの演習を解くために、Factorをローカルにインストールする方法を学びます。
Factorトラックでは、Factor 0.101を使用します。それより前のバージョンはサポートしていません。
安定版またはナイトリー版をインストールするか、ソースからビルドすることができます。
インストールできたかどうかは、factor -e='vm-version print'を実行して確認してみましょう。0.101以上が表示されれば成功です。
https://factorcode.org#stable-releaseでは、「Stable release」セクションで安定版のバイナリを提供しています。
https://factorcode.org#development-releaseでは、「Development release」セクションでナイトリー版のバイナリを提供しています。これらのバイナリはgitからビルドされますが、表示されるのはビルドが成功したものだけです。
最先端を試したい方、ナイトリー版でも古すぎると感じる方には、モダンなC++コンパイラー(GCC >=4.8またはClang >=3.5)、make、curlが必要です。
これだけの条件を満たしたら、次の手順を実行します。
buildシェルスクリプトをダウンロードします。こちら(Unix系 / POSIXシェル)またはこちら(Windows)からどうぞ。Factorをインストールしたいディレクトリに置いてください。コードベースを含むfactorというディレクトリが作成されます。
./build.sh installのように実行します(Windowsでは.\build.cmd install)。これはFactorのgitリポジトリをクローンしてビルドし、https://factorcode.orgからFactorのVMイメージをダウンロードします。この処理には2分から20分ほどかかります。時間は回線速度とCPUのクロック数によって変わります。
これで、factorサブディレクトリ内に生成されたfactorまたはfactor.exeのバイナリを実行できます。ヘルプを見たいときはfactor --helpを試してみてください。コマンドラインからドキュメントを参照することもできますし、GUI ListenerでF1を押すとヘルプブラウザーが開きます。
今後は、factorサブディレクトリ内のbuild.sh(Windowsではbuild.cmd)を使ってgitから取得し、その場で再ビルドします。必要に応じて新しいVMイメージもダウンロードされます。
このとき、ファイル構成は次のようになっているはずです。
.
├── build.sh <- delete if you like
└── factor
├── basis
├── boot.unix-x86.64.image
├── build.cmd <- use these from now on
├── build.sh <-
├── core
├── extra
├── factor
├── Factor.app
├── factor.image
├── GNUmakefile
├── libfactor.a
├── libfactor-ffi-test.so
├── LICENSE.txt
├── misc
├── Nmakefile
├── README.md
├── unmaintained
├── vm
└── work
今後はダウンロードしたスクリプトを使うため、最上位のbuildスクリプトはもう必要ありません。
リポジトリをクローンし、そのフォルダーでmakeを実行します。
makeが存在しないターゲットに関するエラーで失敗する場合は、make factorを試してみてください。Makefileを読める方なら、GNUmakefileから自分のプラットフォーム向けのmakeターゲットを探してください。
それでも失敗する場合は、エラーの内容を添えてfactor/factorでissueを作成してください。親切な開発者たちが喜んで助けてくれます。