Juliaで書いたコードを他人とシェアするための最小限の方法について。
Juliaのコードを他の人に渡す際に、インストールしたパッケージが何かとかを知らせる必要があるのかな、とか思うかもしれません。あるいは、パッケージとして登録しないと難しいのかな、とか思うかもしれません。
ここでは、一番シンプルなものと思われる方法を述べます。
方法
シェアしたいコードをmain.jlとします。そして、このコードがたとえば
using CSV
using DataFrames
using LinearAlgebra
などを使っているとします。この時、他の人にmain.jlを渡しても、そのまま実行させてしまうとパッケージがないとエラーが起きます。
それを解消するには以下のようにします。
まず、適当にディレクトリを作ります。そして、その中でJuliaのREPLを立ち上げます。次に、]キーを押してパッケージモードにします。そこで、
activate .
とします。これでパッケージが何も入っていないまっさらなJuliaができます。そのあと、
add CSV
add DataFrames
add LinearAlgebra
として、main.jlが使うパッケージを全部インストールしましょう。
これによって、作ったディレクトリには、Project.tomlというファイルができているはずです。このファイルが、main.jlを実行するために使ったパッケージを記録してくれます。他の人には、Project.tomlとmain.jlを共有します。
次に、main.jlの一番先頭に、
using Pkg
using Pkg.instantiate()
と2行追記しておきます。
実行方法
実行するには、Project.tomlとmain.jlが入っているディレクトリの中で、
julia --project=. main.jl
とします。
これによって、Project.tomlが読み込まれ、Pkg.instantiate()
によって必要なパッケージが自動的にインストールされます。そして、コードが実行されます。