Pkg
Pkg 是 Julia 的內建套件管理員,處理安裝、更新和移除套件等操作。
以下是 Pkg 的非常簡短介紹。如需有關 Project.toml
檔案、Manifest.toml
檔案、套件版本相容性 ([compat]
)、環境、註冊表等的詳細資訊,強烈建議閱讀完整手冊,您可以在這裡取得:https://pkgdocs.julialang.org。
以下是 Pkg 基本功能的快速概觀。它應該可以幫助新使用者熟悉 Pkg 的基本功能,例如新增和移除套件,以及使用環境。
為了讓本基礎指南保持重點,此部分省略了部分 Pkg 輸出。這有助於保持良好的步調,不會陷入細節中。如果您需要更多詳細資訊,請參閱 Pkg 手冊的後續部分。
本指南使用 Pkg REPL 來執行 Pkg 指令。對於非互動式使用,我們建議使用 Pkg API。Pkg API 在 Pkg 文件的 API 參考 部分中有完整的說明。
Pkg 附帶一個 REPL。從 Julia REPL 按下 ]
進入 Pkg REPL。要返回 Julia REPL,請按 Ctrl+C
或退格鍵(當 REPL 游標位於輸入開頭時)。
進入 Pkg REPL 後,您應該會看到以下提示
(@v1.8) pkg>
要新增套件,請使用 add
(@v1.8) pkg> add Example
Resolving package versions...
Installed Example ─ v0.5.3
Updating `~/.julia/environments/v1.8/Project.toml`
[7876af07] + Example v0.5.3
Updating `~/.julia/environments/v1.8/Manifest.toml`
[7876af07] + Example v0.5.3
安裝套件後,可以載入到 Julia 會話中
julia> import Example
julia> Example.hello("friend")
"Hello, friend"
我們也可以一次指定多個套件來安裝
(@v1.8) pkg> add JSON StaticArrays
status
指令(或較短的 st
指令)可用於查看已安裝的套件。
(@v1.8) pkg> st
Status `~/.julia/environments/v1.6/Project.toml`
[7876af07] Example v0.5.3
[682c06a0] JSON v0.21.3
[90137ffa] StaticArrays v1.5.9
一些 Pkg REPL 指令有短版本和長版本的指令,例如 status
和 st
。
要移除套件,請使用 rm
(或 remove
)
(@v1.8) pkg> rm JSON StaticArrays
使用 up
(或 update
)來更新已安裝的套件
(@v1.8) pkg> up
如果您一直遵循本指南,已安裝的套件很可能是最新版本,因此 up
將不會執行任何動作。以下我們顯示在我們故意安裝舊版 Example 套件,然後升級它的情況下的狀態輸出
(@v1.8) pkg> st
Status `~/.julia/environments/v1.8/Project.toml`
⌃ [7876af07] Example v0.5.1
Info Packages marked with ⌃ have new versions available and may be upgradable.
(@v1.8) pkg> up
Updating `~/.julia/environments/v1.8/Project.toml`
[7876af07] ↑ Example v0.5.1 ⇒ v0.5.3
我們可以看到狀態輸出告訴我們有較新的版本可用,並且 up
會升級套件。
有關管理套件的更多資訊,請參閱文件中的 管理套件 部分。
到目前為止,我們已經介紹了基本的套件管理:新增、更新和移除套件。
您可能已注意到 REPL 提示中的 (@v1.8)
。這讓我們知道 v1.8
是活動環境。不同的環境可以安裝與其他環境完全不同的套件和版本。活動環境是會受到 Pkg 指令(例如 add
、rm
和 update
)修改的環境。
讓我們設定一個新的環境,以便我們進行實驗。若要設定活動環境,請使用 activate
(@v1.8) pkg> activate tutorial
[ Info: activating new environment at `~/tutorial/Project.toml`.
Pkg 會讓我們知道我們正在建立一個新環境,而且這個環境會儲存在 ~/tutorial
目錄中。環境的路徑是相對於 REPL 的目前工作目錄建立的。
Pkg 也已更新 REPL 提示,以反映新的活動環境
(tutorial) pkg>
我們可以使用 status
詢問有關活動環境的資訊
(tutorial) pkg> status
Status `~/tutorial/Project.toml`
(empty environment)
~/tutorial/Project.toml
是活動環境的專案檔案位置。專案檔案是一個 TOML 檔案,Pkg 會在其中儲存已明確安裝的套件。請注意,這個新環境是空的。讓我們新增一些套件並觀察
(tutorial) pkg> add Example JSON
...
(tutorial) pkg> status
Status `~/tutorial/Project.toml`
[7876af07] Example v0.5.3
[682c06a0] JSON v0.21.3
我們可以看到 tutorial
環境現在包含 Example
和 JSON
。
如果您在多個環境中安裝了相同的套件(版本相同),則只會下載該套件並將其儲存在硬碟上一次。這使得環境非常輕量,而且可以有效地免費建立。初學者在 Julia 中常犯的錯誤,就是只使用預設環境,其中包含大量的套件。學習如何有效地使用環境將有助於您體驗 Julia 套件。
有關環境的更多資訊,請參閱文件中的 使用環境 部分。
如果您遇到問題,可以向 Pkg
尋求協助
(@v1.8) pkg> ?
您應該會看到可用命令的清單,以及簡短的說明。您可以透過指定命令來尋求更詳細的協助
(@v1.8) pkg> ?develop
本指南應有助您開始使用 Pkg
。Pkg
在強大的套件管理方面有更多功能,請閱讀完整手冊以了解更多資訊!