我有一台可以访问互联网的OS X系统的笔记本电脑,以及出于安全原因无法访问互联网的Linux服务器.
我想构建一个依赖于Linux服务器的Rust项目.由于Linux服务器无法访问Internet,因此我cargo build
在OSX笔记本电脑上运行该命令并将依赖源文件下载到该.cargo
目录,然后将这些文件复制到Linux服务器并将其放入/root/.cargo
目录.
我使文件结构相同,但是当我cargo build
在Linux服务器上运行时,它仍然试图连接到这个网站,并且构建失败.cargo build
尽管dep源文件已在.cargo
目录中,但该命令始终尝试连接Internet .
如何在脱机环境中构建具有依赖项的Rust项目?为什么复制依赖项的源文件不起作用?
Ten*_*ken 24
从 Rust 1.37 开始,Cargo 的内置vendor
命令可用于下载 crate 的依赖项并将其捆绑在 crate 本身中:
第一次运行cargo vendor
。vendor
这将在您的板条箱根目录中设置一个名为的新目录。然后它将下载所有必需的依赖项并将它们存储在这个新目录中。
下载完依赖项后cargo vendor
,它将打印一组您需要遵循的说明。目前,这些说明告诉您将几行复制到.cargo/config.toml
. 请注意,这config.toml
是相对于您的板条箱根目录的,而不是您的主目录中的根目录。
如果您执行了这两个步骤,您的板条箱将在其依赖项方面完全独立。您可以将此方法与 Rust 的离线安装程序结合起来,以完全离线地构建 Rust 程序。
归档时间: |
|
查看次数: |
1678 次 |
最近记录: |