Rust和Go离线开发指南
文章目录
这本身毫无技术难度,写出来主要是因为这个问题大多数人并不在意,而当单位是物理隔离的内网时,这个问题又不得不解决。本文主要解决Windows下的环境迁移问题。
Rust离线环境迁移
下面是我找到的一种比较舒服的迁移方式。
设A为能联网的机器,B为内网机器。(下同)
在A上使用rustup来下载和管理Rust版本,把你需要的各个crate安装好,确保这个环境可以编译你的项目,如果不确定是否安装全crate,那只要这台机器的文件不删除,后面还可以按照这个办法更新。进到C:\Users\你的用户名
文件夹下。这里有两个文件夹,一是.cargo
,二是.rustup
,把这两个文件夹全都压缩copy到B机器的相同文件夹下(用户名可以不一致)解压,把环境变量设好,确保cargo -V和rustup -V都可以正常显示版本。
然后在项目内你第一次编译的时候仍然会报错,说你dependencies没找到,这主要是因为cargo build
的时候cargo发现cargo.lock
内的信息和你cargo.toml
指示的不一致,然后默认采用网络连接去下载对应的crate包。此时你需要cargo build --offline
编译一次,这样就会生成新的cargo.lock
,之后再用cargo build
就不会出问题了。
Go环境迁移
Go的包默认也是安装在C:\Users\你的用户名
下,仅有一个go
,把这个文件夹放到B机器上的任意位置,在项目内设置Go Path包含这个目录即可。
PS:好久不写真正的技术内容,稍学些内容又不能写在这里,只好写一些比较冷门的小知识点,稍微帮助下他人,也帮我维持一种输出的状态