离线安装 rust 并编译 ripgrep
背景
工作的一台编译机无法连接外网,也没有 root 权限和预装 ripgrep,只能离线编译安装了。
准备工作
首先需要在一台能够正常访问外网的机器上下载 rust 的离线安装包和 ripgrep 的源码包。
Rust
rust 的离线安装包可以到官网下载: Other Installation Methods - Rust Forge,在 Standalone installers 部分下载对应系统和架构的安装包。
Ripgrep 及依赖
要确保当前机器上有 rust 环境,用于离线所有依赖。如果没有,可以参考 安装 Rust - Rust 程序设计语言 进行安装。
用以下命令 Clone ripgrep 的源代码:
|
|
进入源码目录,离线所有依赖,会将项目的所有 crates.io 和 git 依赖项下载到 verdor 目录中:
|
|
执行完成后,会输出需要添加到 .cargo/config.toml
中的内容,将其追加到 .cargo/config.toml
文件中,以便编译时指定使用本地的依赖。
|
|
完成以上两步后,将下载的 rust 安装包和 ripgrep 文件夹压缩上传到目标机器,开始下一步的安装。
编译安装
安装 Rust
解压 rust standalone 安装包,并进入文件夹,通过以下命令安装,会将 rust 安装到 ~/.local/rust
目录下,可以自行修改。
|
|
根据所指定的安装目录,添加环境变量 export PATH=$HOME/.local/rust/bin
到所使用的 shell 配置文件(.bashrc
或 .zshrc
)中(或使用以下命令自动添加),并刷新配置文件。
|
|
运行 cargo --version
检查安装是否成功。
编译 Ripgrep
解压 ripgrep 源码包,使用以下命令进行构建:
|
|
构建好的二进制文件位于 ./target/release/rg
,复制到已经添加到环境变量的目录中即可。
使用 rg --version
验证构建是否成功。