Comments (2)
I would really love this feature, I snooped around a bit and found the following two places where the ~/.julia/juliaup
path is assumed:
juliaup/Juliaup/src/Juliaup.jl
Line 19 in 0bfe67d
Line 310 in 0bfe67d
What I wonder is
- How do the different versions of Julia handle the environment variable?
- Will it require more work that just using
DEPOT_PATH[0]
in the julia code and something likeIs JULIA_DEPOT_PATH empty? Then return "~/.julia/juliaup" else return JULIA_DEPOT_PATH (split at ";")
in the C++ part? - Does this issue break version-compatibility? JuliaLang/julia#31002
- And if version compatibility is broken, does it matter? I.e. what do we want to do when an old version of Julia doesn't understand
JULIA_DEPOT_PATH
and uses~/.julia
or something else, while juliahub wants to useJULIA_DEPOT_PATH/juliahub
. My current thinking is that this might actually be preferred since then at least juliahub will always be consistent and located where never versions would have wanted to place it.
I have a hunch that if we use DEPOT_PATH[0]
in julia and add a preference for the environment variable JULIA_DEPOT_PATH
(split at ;
) in C++, we will be A-okay.
from juliaup.
Yeah, I think that should pretty much be it. Couple of more specifics:
- We can't use
DEPOT_PATH
in the Julia code because it isn't populated whenjuliaup
is compiled with PackageCompiler. So on the Julia side we'll also have to look for the env variable explicitly, parse it ourselves and extract the right values etc. Should not be hard at all, though. - I think your logic for the C++ code is spot on (and the same would be used in the Julia code). Only "extra" thing I can think of is that on non Windows platforms
:
is also a valid splitter inJULIA_DEPOT_PATH
, and we might just make it cross platform compatible from the beginning? - I agree, I think we should just ignore the "old" interpretation of
JULIA_DEPOT_PATH
and go with the new one that was introduced in #31002. I think this is such a corner case, I just can't imagine that would be a problem.
from juliaup.
Related Issues (20)
- Warn user and get opt-in for +pr mode
- Scope of Rewrite: rewriting juliaup in Julia language itself HOT 2
- Julia download link crashes with following error in my UBuntu 24.04
- Feature Request: FreeBSD support HOT 2
- `juliaup gc` should prune linked versions that no longer exist HOT 1
- Crash report HOT 2
- CLI installation wizard bug for zsh
- Hope to display the percentage of progress
- Nonexistent linked channels silently fail
- Crash report
- Juliainstaller Crash Report
- Installation attempt crash report HOT 1
- Crash report (unwrap error on timeout?) HOT 1
- Allow overriding an override HOT 3
- pre releases inflation HOT 1
- Juliainstallercrashreport HOT 1
- `nightly` channel can be updated message is too verbose
- Throws "Invalid Juliaup channel `pr55132`" despite channel being valid HOT 3
- `juliaup list` does not list the architecture variants of PR channels
- Launch julia and load all stdlibs after install, to move any OS checks to install time HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from juliaup.