| この記事の要点 |
|
エラー内容
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・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09