この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:7
ページ更新者:T
更新日時:2026-06-11 07:12:00

タイトル: インストール (Genie.jl)
SEOタイトル: Julia の Web フレームワーク Genie.jl のインストール手順と Hello World

この記事の要点
  • Genie.jlは Julia の代表的 Web フレームワーク(Rails / Phoenix 風)
  • インストール: using Pkg; Pkg.add("Genie") 一行で完了
  • 依存: Julia 1.6 LTS 以降、5.x 系は古いので Julia 公式から最新版を導入
  • 開発版(最新コミット): Pkg.add(url="https://github.com/GenieFramework/Genie.jl.git")
  • 初期セットアップ: Genie.Generator.newapp("MyApp")cd MyApp./bin/serverhttp://localhost:8000

Genie.jl とは

Genie.jl は Julia 言語で書かれた高速 Web アプリケーションフレームワークです。Rails / Phoenix / Django に近い「フルスタック」型で、ルーティング・テンプレート・ORM (SearchLight.jl)・WebSocket をひと通り備えています。データサイエンス系の Julia 資産(DataFrames / Plots.jl)と Web を組み合わせたい場合に強力な選択肢になります。

必要環境

項目推奨備考
Julia1.6 LTS 以上 / 1.10 推奨1.10 が現行 LTS
OSLinux / macOS / Windowsすべて公式対応
メモリ4 GB 以上パッケージプリコンパイルで一時的に増える
ストレージ2 GB 以上~/.julia 下にパッケージキャッシュ
Genie 推奨v5.x 系(2024 以降)Julia 1.6+ 必須

Step 1: Julia をインストール

Julia 公式の juliaup(バージョンマネージャ)を使うのが推奨。

# Linux / macOS
curl -fsSL https://install.julialang.org | sh

# Windows (PowerShell)
winget install julia -s msstore

# バージョン確認
julia --version
# julia version 1.10.4

# 旧バージョンが入っている場合は最新へ
juliaup update
juliaup default release

Step 2: Genie パッケージを追加

Julia REPL を起動し、Pkg モードで Genie を追加します。

# REPL 起動
$ julia

julia> using Pkg
julia> Pkg.add("Genie")

# または ] でパッケージモードに入って add
julia> ]   # 押すとプロンプトが (@v1.10) pkg> に変わる
(@v1.10) pkg> add Genie
(@v1.10) pkg> status
   [c43c736e] Genie v5.x.x

初回は依存パッケージのダウンロードとプリコンパイルで 5〜10 分かかります。終わると ~/.julia/packages/Genie 配下に展開されます。

Step 3: 最新開発版を使う場合

GitHub の master を直接取得することもできます。

julia> using Pkg
julia> Pkg.add(url="https://github.com/GenieFramework/Genie.jl.git")

# 特定ブランチ
julia> Pkg.add(url="https://github.com/GenieFramework/Genie.jl.git", rev="develop")

# 開発モード(自分でフォークして改造)
julia> Pkg.develop(url="https://github.com/myname/Genie.jl.git")
# → ~/.julia/dev/Genie に clone される

Step 4: 最小プロジェクトで Hello World

# app.jl
using Genie
using Genie.Router

route("/") do
    "Hello, Genie.jl from Julia!"
end

route("/json") do
    Genie.Renderer.Json.json(Dict("status" => "ok", "lang" => "Julia"))
end

# 起動
Genie.up(8000)
# → http://localhost:8000/

これだけで HTTP サーバが立ち上がり、ルート / にアクセスすると "Hello, Genie.jl from Julia!" が返ります。

Step 5: 本格的なアプリ雛形を生成

# 雛形を生成
julia> using Genie
julia> Genie.Generator.newapp("MyApp")

# bin/ や config/, app/ などの Rails ライクなディレクトリ構造が作られる
#   MyApp/
#   ├── app/        # コントローラ・ビュー
#   ├── bin/        # 起動スクリプト
#   ├── config/     # ルーティング・初期化
#   ├── db/         # マイグレーション
#   ├── public/     # 静的ファイル
#   ├── routes.jl   # ルート定義
#   └── Project.toml

# 起動 (シェルから)
$ cd MyApp
$ ./bin/server          # Linux/macOS
$ bin\server.bat        # Windows
# → http://localhost:8000

Step 6: 開発環境(VS Code)

Julia 公式拡張をインストール:

  • VS Code — Extensions — Julia (julialang.language-julia)
  • REPL: Alt+J Alt+O でインライン Julia REPL 起動
  • デバッガ: ブレークポイント / 変数ウォッチ対応
  • Linter: JuliaFormatter.jl をパッケージ追加で format 可能

よくあるトラブル

症状原因対処
Pkg.add で ERROR: ArgumentErrorJulia バージョンが古いjuliaup update で 1.10 LTS へ
プリコンパイルがやたら遅い初回 + パッケージ多い2回目以降は速い。SSD 推奨
ポート 8000 が使われている他プロセス占有Genie.up(8080) や config 変更
Windows で ./bin/server 動かないシェル違いbin\server.bat を使う
パッケージ依存衝突古い環境に新版混入] resolve または環境分離

FAQ

Q: Julia 1.5 でも動く?
A: 動かないことはないが、Genie v5 系は 1.6 以降推奨。最新版 Julia を使ってください。

Q: Python の Flask / Django と比較してメリットは?
A: Julia ネイティブなので数値計算・機械学習の処理がそのまま Web に乗るのが最大の強み。Flask + NumPy のような層境界が不要。

Q: 本番運用の事例は?
A: 小規模・社内ツール用途が中心。大規模 Web は Phoenix / Rails / Django の方が知見が多い。データサイエンス系の社内 Web に向く。