您可以通过 Julia 的
Project.toml
文件来管理包及其版本。
该文件可同时保存您的依赖列表。
以下是一个 Julia 会话示例:
julia> using Pkg
julia> pkg"generate MyProject"
Generating project MyProject:
MyProject\Project.toml
MyProject\src/MyProject.jl
julia> cd("MyProject")
julia> pkg"activate ."
Activating environment at `C:\Users\pszufe\myp\MyProject\Project.toml`
julia> pkg"add DataFrames"
现在的最后一步是向您的Project.toml
文件提供软件包版本信息。我们先检查“有效”的版本号:
julia> pkg"st DataFrames"
Project MyProject v0.1.0
Status `C:\Users\pszufe\myp\MyProject\Project.toml`
[a93c6f00] DataFrames v0.21.7
现在你想编辑
Project.toml
文件中的
[compat]
部分,将版本号固定为
v0.21.7
:
name = "MyProject"
uuid = "5fe874ab-e862-465c-89f9-b6882972cba7"
authors = ["pszufe <pszufe@******.com>"]
version = "0.1.0"
[deps]
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
[compat]
DataFrames = "= 0.21.7"
注意在最后一行中等号操作符被使用两次以修复确切的版本号,有关详细信息请参见
https://julialang.github.io/Pkg.jl/v1/compatibility/。
现在为了重用该结构(例如,不同的docker,移动到不同系统等),您只需要执行以下操作。
cd("MyProject")
using Pkg
pkg"activate ."
pkg"instantiate"
补充说明
同时请注意 JULIA_DEPOT_PATH
变量 (https://docs.julialang.org/en/v1/manual/environment-variables/)。
在移动安装程序时,如果您想要控制所有软件包的实际安装位置,则有时可能会非常方便。例如,您可能希望在具有相同Julia安装的2个Docker之间复制JULIA_DEPOT_PATH
文件夹,以避免安装软件包所需的时间,或者您可能正在构建没有互联网连接等的Docker镜像。
$ docker run --mount source=juliadotfolder,target=/root/.julia -it terasakisatoshi/jlcross:rpizero-v1.5.0 julia
- user1026169