常量
Core.nothing
— 常量Base.PROGRAM_FILE
— 常量PROGRAM_FILE
包含从命令行传递给 Julia 的脚本名称的字符串。请注意,脚本名称在包含的文件中保持不变。或者参见 @__FILE__
。
Base.ARGS
— 常量ARGS
传递给 Julia 的命令行参数(作为字符串)的数组。
Base.C_NULL
— 常量C_NULL
C 空指针常量,有时在调用外部代码时使用。
Base.VERSION
— 常量VERSION
一个 VersionNumber
对象,描述正在使用的 Julia 版本。另请参阅 版本号字面量。
Base.DEPOT_PATH
— 常量DEPOT_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
— 常量LOAD_PATH
using
和 import
语句要考虑作为项目环境或包目录以加载代码的路径数组。如果设置了 JULIA_LOAD_PATH
环境变量,则会根据它填充;否则默认为 ["@", "@v#.#", "@stdlib"]
。以 @
开头的条目具有特殊含义
@
指的是“当前活动环境”,其初始值最初由JULIA_PROJECT
环境变量或--project
命令行选项确定。@stdlib
展开为当前 Julia 安装的标准库目录的绝对路径。@name
指的是命名环境,它们存储在仓库(参见JULIA_DEPOT_PATH
)的environments
子目录下。用户的命名环境存储在~/.julia/environments
中,因此如果name
存在并包含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
— 常量Sys.BINDIR::String
包含包含 julia
可执行文件的目录的完整路径的字符串。
Base.Sys.CPU_THREADS
— 常量Sys.CPU_THREADS::Int
系统中可用的逻辑 CPU 核心数,即 CPU 可以同时运行的线程数。请注意,这并不一定是 CPU 核心的数量,例如,在存在 超线程 的情况下。
有关扩展信息(包括物理核心数量),请参阅 Hwloc.jl 或 CpuId.jl。
Base.Sys.WORD_SIZE
— 常量Sys.WORD_SIZE::Int
当前机器上的标准字长(以位为单位)。
Base.Sys.KERNEL
— 常量Sys.KERNEL::Symbol
表示操作系统名称的符号,由构建配置的uname
返回。
Base.Sys.ARCH
— 常量Sys.ARCH::Symbol
表示构建配置体系结构的符号。
Base.Sys.MACHINE
— 常量Sys.MACHINE::String
包含构建三元组的字符串。
另请参阅