在我的Advent of Code 存盤庫中,我從去年開始就有了一個實用程式庫,今年也一直在使用該庫中的東西。
今年我想添加第二個以更快地加載輸入檔案。出于某種原因using,單元測驗適用于舊庫,但不適用于第二個庫。
我試圖盡可能地統一這兩個檔案夾,直到現在Project.toml它們相等。
這兩個 目錄看起來像這樣(ProblemParser失敗和Utils作業):
問題決議器 ? ├── Manifest.toml ├── Project.toml ├── src │ └── ProblemParser.jl └── 測驗 ├── Manifest.toml ├── Project.toml └── runtests.jl 實用? ├── Manifest.toml ├── Project.toml ├── src │ └── Utils.jl └── 測驗 ├── Manifest.toml ├── Project.toml └── runtests.jl
將它們添加到專案(Manifest)作業正常(其他內容被遺漏):
(AoC 2021) pkg> 狀態
狀態`~/src/me/AoC/21/Project.toml`
[16064a1e] ProblemParser v0.1.0 `../ProblemParser`
[c4255648] Utils v0.1.0 `../Utils`
然而,嘗試使用ProblemParser并不順利。
朱莉婭> 使用實用程式 julia> # 有效 julia> 使用 ProblemParser 錯誤:KeyError:key ProblemParser [16064a1e-6b5f-4a50-97c7-fe66cda9553b] 未找到 堆疊跟蹤: [1] 獲取索引 @ ./dict.jl:481 [行內] [2] root_module @ ./loading.jl:1056 [行內] [3] 需要(uuidkey::Base.PkgId) @ 基地 ./loading.jl:1022 [4] 需要(進入::模塊,mod::Symbol) @ 基地 ./loading.jl:997
嘗試運行測驗時會發生相同的是/否。
(AoC 2021) pkg> 激活 ../Utils/
在`~/src/me/AoC/Utils` 激活專案
(實用程式)pkg> 測驗
測驗工具
狀態`/tmp/jl_AGawpC/Project.toml`
[c4255648] Utils v0.1.0 `~/src/me/AoC/Utils`
[8dfed614] 測驗`@stdlib/Test`
狀態`/tmp/jl_AGawpC/Manifest.toml`
[79e6a3ab] 適配 v3.3.1
----- 8< 剪斷 8< -----
[4536629a] OpenBLAS_jll `@stdlib/OpenBLAS_jll`
[8e850b90] libblastrampoline_jll `@stdlib/libblastrampoline_jll`
測驗 運行測驗...
測驗摘要: | 通過總數
@something_nothing | 15 15
測驗 Utils 測驗通過
(Utils) pkg> activate ../ProblemParser/
在`~/src/me/AoC/ProblemParser` 激活專案
(ProblemParser) pkg> 測驗
測驗問題決議器
狀態`/tmp/jl_6v5Y3D/Project.toml`
[16064a1e] ProblemParser v0.1.0 `~/src/me/AoC/ProblemParser`
[8dfed614] 測驗`@stdlib/Test`
狀態`/tmp/jl_6v5Y3D/Manifest.toml`
[16064a1e] ProblemParser v0.1.0 `~/src/me/AoC/ProblemParser`
[2a0f44e3] Base64 `@stdlib/Base64`
----- 8< 剪斷 8< -----
[9e88b42a] 序列化`@stdlib/Serialization`
[8dfed614] 測驗`@stdlib/Test`
測驗 運行測驗...
錯誤:LoadError:ArgumentError:在當前路徑中找不到包 ProjectParser:
- 運行`import Pkg; Pkg.add("ProjectParser")` 安裝 ProjectParser 包。
堆疊跟蹤:
[1] 需要(進入::模塊,mod::Symbol)
@ 基地 ./loading.jl:967
[2] 包含(fname::String)
@ Base.MainInclude ./client.jl:451
[3] 頂級范圍
@無:6
在從 /home/tsbr/src/me/AoC/ProblemParser/test/runtests.jl:1 開始的運算式中
錯誤:包 ProblemParser 在測驗期間出錯
兩者有什么區別?是什么讓一個作業而另一個不作業?
我只是沒看到。
uj5u.com熱心網友回復:
啊,你的模塊名稱定義錯誤src/ProblemParser.jl- 第一行是module ProjectParser而不是module ProblemParser.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/385170.html
