Open3

Juliaのエラー解決メモ

大野 周平大野 周平

よくあるエラーは関数と配列に同じ名前を使ってしまうこと. 関数の中に入れたりモジュールの中に入れたり, スコープを分けるとよい.

julia> V(r) = -1/r
V (generic function with 1 method)

julia> V = [1,2,3]
ERROR: invalid redefinition of constant Main.V
Stacktrace:
 [1] top-level scope
大野 周平大野 周平

CairoMakie.jlのフォントが整数しか受け入れなくなったっぽい. エラーの例:
https://github.com/ohno/TwoBody.jl/actions/runs/15144487879/job/42576718612

エラー文

  exception = 
    InexactError: Int64(11.5)
    Stacktrace:
      [1] Int64
        @ ./float.jl:994 [inlined]
      [2] convert
        @ ./number.jl:7 [inlined]
      [3] cvt1
        @ ./essentials.jl:612 [inlined]
      [4] ntuple
        @ ./ntuple.jl:49 [inlined]
      [5] convert
        @ ./essentials.jl:614 [inlined]
      [6] LinePattern
        @ ~/.julia/packages/Makie/dYDv2/src/patterns.jl:45 [inlined]
      [7] Makie.LinePattern(; direction::GeometryBasics.Vec{2, Float32}, width::Float64, tilesize::Tuple{Float64, Float64}, origin::GeometryBasics.Vec{2, Float32}, linecolor::ColorTypes.RGBA{Float32}, backgroundcolor::ColorTypes.RGBA{Float32}, background_color::Nothing, shift::Nothing)
        @ Makie ~/.julia/packages/Makie/dYDv2/src/patterns.jl:96
      [8] initialize_block!(leg::Makie.Legend; entrygroups::Observables.Observable{Vector{Tuple{String, Vector{Makie.LegendEntry}}}})
        @ Makie ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:213
      [9] _block(T::Type{Makie.Legend}, fig_or_scene::Makie.Figure, args::Tuple{}, kwdict::Dict{Symbol, Any}, bbox::Observables.Observable{GeometryBasics.HyperRectangle{2, Int64}}; kwdict_complete::Bool)
        @ Makie ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks.jl:398
     [10] Makie.Legend(fig_or_scene::Makie.Figure, contents::Vector{MakieCore.Plot{PlotFunc, Tuple{Vector{GeometryBasics.Point{2, Float64}}}} where PlotFunc}, labels::Vector{String}, title::String; bbox::Observables.Observable{GeometryBasics.HyperRectangle{2, Int64}}, kwargs::@Kwargs{margin::NTuple{4, Int64}, halign::Symbol, valign::Symbol, framevisible::Bool})
        @ Makie ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:902
     [11] Makie.Legend(fig_or_scene::Makie.Figure, axis::Makie.Axis, title::String; merge::Bool, unique::Bool, kwargs::@Kwargs{bbox::Observables.Observable{GeometryBasics.HyperRectangle{2, Int64}}, margin::NTuple{4, Int64}, halign::Symbol, valign::Symbol, framevisible::Bool})
        @ Makie ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:950
     [12] #axislegend#2328
        @ ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:1050 [inlined]
     [13] axislegend
        @ ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:1049 [inlined]
     [14] #axislegend#2327
        @ ~/.julia/packages/Makie/dYDv2/src/makielayout/blocks/legend.jl:1027 [inlined]
     [15] top-level scope
        @ FDM.md:123
     [16] eval
        @ ./boot.jl:430 [inlined]
     [17] #59
        @ ~/.julia/packages/Documenter/iRt2s/src/expander_pipeline.jl:856 [inlined]
     [18] cd(f::Documenter.var"#59#61"{Module, Expr}, dir::String)
        @ Base.Filesystem ./file.jl:112
     [19] (::Documenter.var"#58#60"{Documenter.Page, Module, Exp
Error: failed to run `@example` block in docs/src/FDM.md:134-183

下記のように修正する:

- fontsize = 11.5
+ fontsize = 11
大野 周平大野 周平

Juliaパッケージのドキュメントのビルドに失敗するようになった. make.jlでrepolinkという引数を受け入れなくなったっぽい. エラー文:

The latest version of Julia in the `release` channel is 1.11.5+0.x64.w64.mingw32. You currently have `1.11.4+0.x64.w64.mingw32` installed. Run:

  juliaup update

in your terminal shell to install Julia 1.11.5+0.x64.w64.mingw32 and update the `release` channel to that version.
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.4 (2025-03-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> include("dev/docs.jl")
The latest version of Julia in the `release` channel is 1.11.5+0.x64.w64.mingw32. You currently have `1.11.4+0.x64.w64.mingw32` installed. Run:

  juliaup update

in your terminal shell to install Julia 1.11.5+0.x64.w64.mingw32 and update the `release` channel to that version.
  Activating new project at `C:\Users\user\Desktop\GitHub\TwoBody.jl\TwoBody.jl`
ERROR: LoadError: MethodError: no method matching Documenter.Writers.HTMLWriter.HTML(; prettyurls::Bool, canonical::String, repolink::String, assets::Vector{String})
This error has been manually thrown, explicitly, so the method may exist but be intentionally marked as unimplemented.

Closest candidates are:
  Documenter.Writers.HTMLWriter.HTML(; prettyurls, disable_git, edit_link, canonical, assets, analytics, collapselevel, sidebar_sitename, highlights, mathengine, footer, ansicolor, lang, warn_outdated, prerender, node, highlightjs, edit_branch) got unsupported keyword argument "repolink"

修正例:
https://github.com/ohno/TwoBody.jl/commit/0c7aacf444f6040aa4ad724532608cd042316301