(回転)Julia PkgServerミラーサービス

4473 ワード

https://mp.weixin.qq.com/s/DyegFcNEjieJspc_3B5G6wJulia PkgServerミラーサービスオリジナルJohnny Chen JuliaCN昨日
長い間、国内のネットワーク環境の影響を受けて、国内のJuliaユーザーを悩ませてきた問題の一つは、パッケージをどのように安定的にインストールするかである.最近、BFSU北外オープンソースミラーステーションにPkgServerミラーサービスを構築しました.このサービスは、従来の国内ユーザーのパッケージインストール過程で発生したネットワーク問題を大幅に緩和することが期待されています.(詳細はページ下部の原文を読むことでコミュニティに表示できます)
Juliaミラーの使用に関するヘルプ
BFSUは現在、Juliaの公式パッケージレジストリGeneralミラーを提供し、Juliaパッケージのインストールを加速させている.BFSUはJuliaバイナリプログラムのミラーリングも提供しているので、その使用についてはJulia Releasesを参照してください.
注意:このミラーの使用にはJulia v 1が必要です.4.0または更新されたバージョン.使用方法
環境変数JULIA_を設定するだけPKG_SERVERでミラーを切り替えることができます.ミラーを正常に切り替えると、versioninfo()を使用して関連情報をクエリーできます.たとえば、次のようになります.
julia> versioninfo() Julia Version 1.4.1 Commit 381693d3df* (2020-04-14 17:20 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel® Core™ i7-6800K CPU @ 3.40GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-8.0.1 (ORCJIT, broadwell) Environment: JULIA_PKG_SERVER = https://mirrors.bfsu.edu.cn/julia/static
この環境変数を設定しないと、デフォルトではオフィシャルサーバpkgが使用する.julialang.orgを上流とします.一時的な使用
システムやコマンドラインの下で環境変数を設定する方法はそれぞれ異なり、コマンドラインの下で以下の方法で環境変数を変更できます.
Linux Bash: export JULIA_PKG_SERVER=https://mirrors.bfsu.edu.cn/julia/static

Windows Powershell: $env:JULIA_PKG_SERVER = 'https://mirrors.bfsu.edu.cn/julia/static'

JuliaCNコミュニティメンテナンスの中国語ローカライズキットJuliaZHを使用して切り替えることもできます.
USing JuliaZH#は、using時に自動的に国内のミラーステーションJuliaZHに切り替わる.set_mirror(「BFSU」)は、BFSUミラーJuliaZHに手動で切り替えることもできます.mirrors#クエリーレコードの上流情報
永続的な使用
システムやコマンドラインの下で環境変数を永続的に設定方法も異なり、例えばLinux Bashの下で~/を修正することができる.bashrcファイルは、次の目的を達成します.
~/.bashrc
export JULIA_PKG_SERVER=https://mirrors.bfsu.edu.cn/julia/static
さらに、ここではJulia向けのフルプラットフォーム共通の方法を提供します:$JULIA_DEPOT_PATH/config/startup.jl(デフォルトは~/.julia/config/startup.jl)ファイルは、Juliaを起動するたびに実行されるコマンドを定義し、このファイルを編集し、以下の内容を追加すればよい.
~/.julia/config/startup.jl
ENV[“JULIA_PKG_SERVER”] = “https://mirrors.bfsu.edu.cn/julia/static”
JuliaZHを使用してstartupを一クリックで変更/作成することもできます.jlファイル:
BFSUミラーステーションを例に
julia> JuliaZH.generate_startup("default")¯Info:PkgServer‖サーバアドレスを追加="https://pkg.julialang.org」└プロファイル="/root/.julia/config"
julia> JuliaZH.generate_startup("BFSU")〃Info:PkgServer|元サーバーアドレスを更新="https://pkg.julialang.org"‖新しいサーバアドレス="https://mirrors.bfsu.edu.cn/julia/static」└プロファイル="/root/.julia/config"
一時的に禁止するには、julia--startup-file=noでstartupの実行をキャンセルすることができます.jlファイル.よくある質問ですが、なぜ一部のパッケージのダウンロードが遅いのですか?
ミラーされないデータは2種類あります.
  deps/build.jl            ,   GR.

  Artifacts.toml       download     ,    TestImages.

この2つのデータを含むパケットをインストールする場合、そのデータは元のアドレスからダウンロードされるため、ネットワークが不安定な場合はbuildフェーズでエラーが発生する可能性があります.なぜレジストリが元のアドレスからダウンロードされますか?
Julia v1.4.0以前のバージョンではgit clone方式でレジストリを引き出していたので、互換性を保つために上流ミラーを設定してもgitで更新されます.
Generalの場合、$JULIA_を削除できます.DEPOT_PATH/registries/General(デフォルトは~/.julia/registries/General)フォルダをリセットし、次回の更新時にミラーステーションから新しいGeneralを引き抜く.ただし、旧バージョンのJuliaではレジストリの更新ができないため、自分の使用シーンに合わせて比較することが望ましい.なぜ一部のパッケージが元のアドレスからダウンロードされますか?
ミラー局は、レジストリに記録されているパケットのみをミラーリングするので、あるパケットがURLを指定してインストールされている場合、そのパケットの更新はミラー局からダウンロードされません.これは、まだ登録されていないパッケージとそのバージョンによく見られます.たとえば、次のようなものです.
]add Flux#master ]add https://github.com/FluxML/Flux.jl.git Pkg.add(PackageSpec(url=“https://github.com/FluxML/Flux.jl.git”))
Juliaバイナリインストーラ
Juliaは科学計算を核心とする新しい汎用プログラミング言語であり、そのバイナリプログラムはhttps://mirrors.bfsu.edu.cn/julia-releases/bin/ダウンロードします.
ここではJuliaLang Downloadsで提供されている安定したリリースおよびrcバージョンのみをミラーします.毎日構築されるテスト版(nightlies)やJuno/Julia ProなどのIDEバージョンは含まれていません.
一部のパッケージ管理ツール(apt,pacman,conda,chocoなど)にはJuliaが提供されていますが、これらのツールは多かれ少なかれバイナリ依存による問題があるため、公式に推奨されている方法は、自分のプラットフォームを使用して対応するバイナリ・プログラムをダウンロードし、解凍することで手動でインストールすることです.Juliaワンタッチインストール
コマンドラインに慣れたユーザにとってjill.py https://github.com/johnnychen94/jill.pyコミュニティメンテナンスの全プラットフォームの次のキーでJuliaをインストールするコマンドラインツールです.
インストール/更新jill:pip install jill--user-U(Python 3.6または更新が必要なバージョン)
   Julia:jill install [VERSION] [--upstream UPSTREAM] [--confirm]

    jill install:    x.y.z   

    jill install --confirm:          

    jill install --upstream BFSU:          

    jill install 1.4:      1.4.z   

         :jill upstream

    :jill [COMMAND] --help

    jill --help:      jill   

    jill install --help:   install        

jillインストールが完了すると、コマンドラインでjulia/julia-1/julia-1.4を実行することで、異なるバージョンのJuliaを起動できます.原文を読む