diff --git a/_posts/help/2020-05-25-julia.md b/_posts/help/2020-05-25-julia.md index 754d658..4d9e3a9 100644 --- a/_posts/help/2020-05-25-julia.md +++ b/_posts/help/2020-05-25-julia.md @@ -95,11 +95,15 @@ julia> JuliaZH.generate_startup("BFSU") ### 为什么注册表还是从原地址下载? -Julia `v1.4.0` 之前的版本采用的是 `git clone` 的方式拉取注册表,所以为了保持兼容性,即使设置上游镜像也依然会通过 `git` 来进行更新。 +Julia `v1.4.0` 之前的版本采用的是 `git clone` 的方式拉取注册表。为了保持兼容性,如果现有的注册表是一个完整的 git 仓库的话, +那么即使设置了 PkgServer 作为上游镜像也依然会通过 `git` 来进行更新,换句话说,不会通过镜像站来下载注册表数据。 -以 `General` 为例,可以通过删除 `$JULIA_DEPOT_PATH/registries/General`(默认为 `~/.julia/registries/General`) -文件夹来重置,从而在下次更新时从镜像站拉取一份新的 `General`. 但是这样一来,在旧版本 Julia 中就无法对注册表进行更新, -因此最好需要根据自己的使用场景来权衡。 +以默认注册表 `General` 为例,只需要手动将其重置到镜像站即可: + +1. 删除当前注册表:`(@v1.4) pkg> registry rm General` +2. 从镜像站下载/拉取注册表(二选一): + * (PkgServer): `(@v1.4) pkg> registry add General` -- 因为不兼容的原因,旧的 Julia 版本将无法更新注册表 + * (Git Repo):`(@v1.4) pkg> registry add https://{{ site.hostname }}/git/julia-general.git` -- 依然兼容早期 Julia 版本 ### 为什么有些包还是从原地址下载? diff --git a/_posts/help/2020-06-05-julia-general.git.md b/_posts/help/2020-06-05-julia-general.git.md new file mode 100644 index 0000000..10cd9f8 --- /dev/null +++ b/_posts/help/2020-06-05-julia-general.git.md @@ -0,0 +1,16 @@ +## Julia 默认注册表 General 仓库镜像 + +该镜像仅为 Julia 默认注册表 [General](https://github.com/JuliaRegistries/General) 仓库的 Git 镜像。 +若需要包括 Julia 包以及二进制依赖在内的完整的镜像,请参考 [Julia 镜像使用帮助]({{ site.url }}/help/julia/)。 + +## 使用方式 + +Julia 包注册表存放在`$JULIA_DEPOT_PATH/registries`(默认为 `~/.julia/registries`) 文件夹下。以默认情况为例: + +1. 若存在的话,删除原有的 `General`: `rm -rf ~/.julia/registries/General` +2. 将该镜像克隆到对应目录下:`git clone https://{{ site.hostname }}/git/julia-general.git ~/.julia/registries/General` + +对于 Julia `v1.1` 及以后版本,可以通过 Julia 内置的注册表管理功能来做到: + +1. `(@v1.4) pkg> registry rm General` +2. `(@v1.4) pkg> registry add https://{{ site.hostname }}/git/julia-general.git`