| この記事の要点 |
|
エラー内容
Julia + Genie で新しいアプリケーションを作成するときに発生することがあるエラーです。
julia> using Genie
julia> Genie.newapp("MyApp")
2026-06-11 18:49:13:INFO:Main: Done! New app created at c:\T\Projects\MyApp
2026-06-11 18:49:13:DEBUG:Main: Installing app dependencies
Updating registry at `C:\Users\tarou\.juliapro\JuliaPro_v1.1.1.1\registries\JuliaPro`
Updating git-repo `https://pkg.juliacomputing.com//registry/JuliaPro`
ERROR: AssertionError: haskey(hashes, uuid)
Stacktrace:
[1] version_data!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1})
at ...stdlib\v1.1\Pkg\src\Operations.jl:443
[2] #instantiate#67(::Nothing, ...) at ...Pkg\src\API.jl:466
...
[13] newapp(::String) at ...packages\Genie\wj9rG\src\Genie.jl:73
原因
このエラーは Julia の Pkg (パッケージマネージャ) 内部で発生します。エラーメッセージの haskey(hashes, uuid) は「あるパッケージの UUID に対応するハッシュ値がローカルレジストリに見つからない」という意味です。
| 典型原因 | 頻度 |
|---|---|
| ローカルレジストリのキャッシュが古い / 壊れている | ★★★ |
| JuliaPro 独自レジストリと General レジストリの不整合 | ★★ |
| Julia / Genie / Pkg のバージョン組み合わせ問題 | ★★ |
| Project.toml / Manifest.toml の不整合 | ★ |
| ネットワーク途中切断によるダウンロード破損 | ★ |
影響範囲
「アプリのディレクトリは作成されたが依存ライブラリのインストール中に失敗した」ため、後続フローが途中で止まる状況です:
- アプリディレクトリ作成 — 完了
- Project.toml / Manifest.toml の生成 — 完了
- プロジェクトの有効化 — 完了
- 依存ライブラリのインストール — 失敗ここ
- REPL へのアプリロード — 未実行
- Web サーバー起動 — 未実行
つまりサーバー起動自体はできるが、一部の機能が動かない状態になりがちです。
対処法 1: レジストリを再構築する (推奨)
ローカルレジストリのキャッシュ不整合が原因のことが多いので、まずはレジストリディレクトリを削除して再取得します。
# Windows
rmdir /s /q "%USERPROFILE%\.julia\registries"
# Linux / macOS
rm -rf ~/.julia/registries# Julia REPL で
using Pkg
pkg"registry add General"
Pkg.update()
完了後、改めて Genie.newapp("MyApp") を実行します。
対処法 2: Pkg.gc() + instantiate
レジストリは壊れていないが Manifest.toml と実体が食い違っている場合:
using Pkg
Pkg.gc() # 未使用キャッシュ削除
Pkg.activate(".") # アプリディレクトリで
Pkg.instantiate() # 依存を解決
Pkg.precompile() # プリコンパイル
対処法 3: 公式 Registry のみを使う (JuliaPro ユーザー向け)
このエラーは特にJuliaPro(Julia Computing の有償ディストリビューション)で報告されることが多いです。JuliaPro 独自レジストリと General レジストリの間で UUID が食い違うことが原因。
# 既存の JuliaPro レジストリを削除
using Pkg
pkg"registry rm JuliaPro"
# General レジストリのみを追加
pkg"registry add https://github.com/JuliaRegistries/General.git"
Pkg.update()
対処法 4: Julia を新しいバージョンに上げる
Julia 1.1 / 1.2 の Pkg にはこの種の不整合バグが残っています。Julia 1.6 (LTS) 以降では Pkg がほぼリライトされ同種エラーは大幅減少しました。
# https://julialang.org/downloads/ から最新の LTS 版を取得
# Windows なら juliaup を使うと管理が楽
winget install julia
juliaup add release
juliaup default release
対処法 5: アプリディレクトリは活かしつつ手動で依存解決
エラーが出てもアプリディレクトリ自体は作られているので、そこに手動で依存を入れ直すこともできます。
# アプリディレクトリに移動した後
using Pkg
Pkg.activate(".")
Pkg.add("Genie")
Pkg.add("Logging")
# Project.toml に列挙された依存をひとつずつ
Pkg.instantiate()
FAQ
Q: ~/.julia ごと消しても大丈夫?
A: 全パッケージ + 設定がリセットされる。レジストリだけ消したいなら ~/.julia/registries のみで OK。
Q: 起動はできるが一部機能が動かない
A: 依存ライブラリの一部だけインストールされていない可能性。Pkg.status() で確認して足りないものを Pkg.add()。
Q: Genie 公式に同じ報告はある?
A: GitHub Issue で過去複数報告あり。Julia + Pkg の組み合わせ問題として記録されている。
子ページはありません
- ERROR: UndefVarError: Genie not defined
- ERROR: AssertionError: haskey(hashes, uuid)
- ERROR: LoadError: LoadError: invalid redefinition of constant UserApp
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38