Merge pull request #195 from johnnychen94/jc/julia

[julia] use built-in registry functionality to re-pull General
This commit is contained in:
Yuxiang Zhang 2020-06-05 18:15:42 +08:00 committed by GitHub
commit b22ab47902
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 4 deletions

View File

@ -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 版本
### 为什么有些包还是从原地址下载?

View File

@ -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`