我正在通过使用rand
条板箱创建小程序来练习生锈(1.36)。但是问题是无论何时我使用cargo new
创建新项目,然后在rand
中添加cargo.toml
依赖项。它连接到互联网并再次下载相同的rand
软件包。
与Python相比,已安装的软件包转到site_package文件夹,并可以导入/使用到任何程序。无需再次下载。
我的问题是,如何告诉货物寻找已经安装的本地板条箱,而不是再次下载?
答案 0 :(得分:5)
即使在现代Python中,也不会只使用全局可用的site_packages
目录并“污染”全局可用的软件包,而是会使用virtual environments来维护每个项目的正确版本控制-类似cargo
的作用。
使用cargo
,一旦在项目中明确下载了所有软件包并指定了它们的版本,就可以传递新的
--offline
标志,而一个人正在编译自己的项目,在这种情况下,cargo
在不访问网络的情况下运行:
$ cargo build --offline
话虽如此,做您所描述的事情当然是完全可能的:
$ mkdir offline_resources
$ cd offline_resources
$ git clone https://github.com/rust-random/rand.git
$ cd rand
$ cargo build
$ cd ../..
$ cargo new use_offline
$ cd use_offline
Cargo.toml
:
[dependencies]
rand = { path="../offline_resources/rand", version="0.7.0" }
$ cargo build --offline
rand
依赖项的项目。