JuliaInterop / JuliaInterop/JuliaCall
`julia_setup(installJulia = TRUE)` does not reliably install julia.
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 287
- Forks
- 43
- PR merge metrics
- No merged PRs in 30d
Description
Due to a different error I found that julia_setup will skip installation if julia is already installed .
The problem is here, where julia_setup() first uses julia_locate() and if it's found, it skips the whole installation, even if installJulia is set to TRUE.
JULIA_HOME <- julia_locate(JULIA_HOME)
if (is.null(JULIA_HOME)) {
if (isTRUE(installJulia)) {
install_julia(version)
JULIA_HOME <- julia_locate(JULIA_HOME)
if (is.null(JULIA_HOME))
stop("Julia is not found and automatic installation failed.")
}
else {
stop("Julia is not found.")
}
}
This means that julia_setup(version = "latest", installJulia = TRUE) will, in fact, not install the latest version if an older version is present. Similarly, julia_setup(installJulia = TRUE, version = "1.9.0") will not install the required version if any other version exists.
The installer should check if the installed version matches the required version and only skip installation if they match.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in R/zzz.R at the julia_setup() logic around lines 57-69, then inspect julia_locate() and install_julia(). Reproduce cases where an older Julia is installed but a specific or latest version is requested. Done means installation is skipped only when the installed version matches the requested version, with the relevant tests passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, r
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100