Constants
Core.nothing
— ConstantBase.PROGRAM_FILE
— ConstantPROGRAM_FILE
一个包含从命令行传递给 Julia 的脚本名称的字符串。请注意,脚本名称在包含的文件中保持不变。或者请参见 @__FILE__
。
Base.ARGS
— ConstantARGS
一个传递给 Julia 的命令行参数数组,作为字符串。
Base.C_NULL
— ConstantC_NULL
C 空指针常量,有时在调用外部代码时使用。
Base.VERSION
— ConstantVERSION
一个 VersionNumber
对象,描述正在使用的 Julia 版本。另见 版本号字面量。
Base.DEPOT_PATH
— ConstantDEPOT_PATH
一个“仓库”位置的堆栈,包管理器以及 Julia 的代码加载机制在其中查找包注册表、已安装的包、命名环境、代码库克隆、缓存的编译包图像和配置文件。默认情况下,它包括:
~/.julia
,其中~
是系统上适当的用户主目录;- 一个特定于架构的共享系统目录,例如
/usr/local/share/julia
; - 一个与架构无关的共享系统目录,例如
/usr/share/julia
。
因此 DEPOT_PATH
可能是:
[joinpath(homedir(), ".julia"), "/usr/local/share/julia", "/usr/share/julia"]
第一个条目是“用户仓库”,应由当前用户可写并拥有。用户仓库是:注册表被克隆、新包版本被安装、命名环境被创建和更新、包代码库被克隆、新编译的包图像文件被保存、日志文件被写入、开发包默认被检出,以及全局配置数据被保存。仓库路径中的后续条目被视为只读,适合由系统管理员安装和管理的注册表、包等。
如果设置了 JULIA_DEPOT_PATH
环境变量,则 DEPOT_PATH
会根据该变量填充。
DEPOT_PATH 内容
DEPOT_PATH
中的每个条目都是指向一个目录的路径,该目录包含 Julia 用于各种目的的子目录。以下是仓库中可能存在的一些子目录的概述:
artifacts
:包含包使用的内容,Pkg 管理其安装。clones
:包含包代码库的完整克隆。由Pkg.jl
维护并用作缓存。config
:包含 Julia 级别的配置,例如startup.jl
compiled
:包含包的预编译*.ji
文件。由 Julia 维护。dev
:Pkg.develop
的默认目录。由Pkg.jl
和用户维护。environments
:默认包环境。例如,特定 Julia 版本的全局环境。由Pkg.jl
维护。logs
:包含Pkg
和REPL
操作的日志。由Pkg.jl
和Julia
维护。packages
:包含包,其中一些是显式安装的,另一些是隐式依赖。由Pkg.jl
维护。registries
:包含包注册表。默认情况下只有General
。由Pkg.jl
维护。scratchspaces
:包含包本身通过Scratch.jl
包安装的内容。Pkg.gc()
将删除已知未使用的内容。
想要存储内容的包应通过 Scratch.jl
使用 scratchspaces
子目录,而不是在仓库根目录中创建新的子目录。
另请参见 JULIA_DEPOT_PATH
和 代码加载。
Base.LOAD_PATH
— ConstantLOAD_PATH
一个路径数组,用于在加载代码时考虑作为项目环境或包目录的 using
和 import
语句。它根据 JULIA_LOAD_PATH
环境变量的设置进行填充;否则默认为 ["@", "@v#.#", "@stdlib"]
。以 @
开头的条目具有特殊含义:
@
指的是“当前活动环境”,其初始值最初由JULIA_PROJECT
环境变量或--project
命令行选项确定。@stdlib
展开为当前 Julia 安装的标准库目录的绝对路径。@name
指的是一个命名环境,这些环境存储在仓库中(参见JULIA_DEPOT_PATH
)的environments
子目录下。用户的命名环境存储在~/.julia/environments
中,因此如果存在并包含Project.toml
文件,@name
将指向~/.julia/environments/name
中的环境。如果name
包含#
字符,则它们将被 Julia 版本号的主、次和修订组件替换。例如,如果您正在运行 Julia 1.2,则@v#.#
展开为@v1.2
,并将查找该名称的环境,通常位于~/.julia/environments/v1.2
。
可以通过调用 Base.load_path()
函数查看搜索项目和包的 LOAD_PATH
的完全展开值。
Base.Sys.BINDIR
— ConstantSys.BINDIR::String
一个包含 julia
可执行文件所在目录的完整路径的字符串。
Base.Sys.CPU_THREADS
— ConstantSys.CPU_THREADS::Int
系统中可用的逻辑 CPU 核心数量,即 CPU 可以同时运行的线程数量。请注意,这不一定是 CPU 核心的数量,例如,在存在 超线程 的情况下。
有关更多信息,包括物理核心的数量,请参见 Hwloc.jl 或 CpuId.jl。
Base.Sys.WORD_SIZE
— ConstantSys.WORD_SIZE::Int
当前机器的标准字大小,以位为单位。
Base.Sys.KERNEL
— ConstantSys.KERNEL::Symbol
一个表示操作系统名称的符号,由构建配置的 uname
返回。
Base.Sys.ARCH
— ConstantSys.ARCH::Symbol
一个表示构建配置架构的符号。
Base.Sys.MACHINE
— ConstantSys.MACHINE::String
一个包含构建三元组的字符串。
另请参阅: