我们可以在板条箱安装期间下载一些东西并设置环境变量吗?



作为一名Rust驱动程序机箱开发人员,当被任何其他Rust程序使用时,我想在机箱安装/下载过程中执行以下步骤:

  1. 检查平台,即Windows、UNIX或macOS
  2. 从外部网站下载相应的特定于平台的二进制文件
  3. 设置指向下载位置的环境变量

我知道这在Node、Python或R中是可能的,但不确定在Rust中是否可能。

您可以使用Build脚本来实现这一点(但这不是您应该做的,请参阅下面的注释(。

该脚本将在货物开始构建您的库之前编译和执行。

  1. 在脚本中,您可以使用cfg属性来检查平台
  2. 有很多库可以通过HTTP下载一些东西,例如reqwest
  3. 您可以通过cargo设置环境变量:rustc env=VAR=VALUE

重要提示

大多数Rust用户并不期望构建脚本会有这种行为。这种方法可能有十几个问题。我脑海中只有几个:

  • 首先可能存在安全问题
  • 该方法将破坏客户端的构建

我认为最好将您需要的所有二进制文件作为机箱的一部分上传。您可以使用include_bytes!为此。

相关内容

  • 没有找到相关文章

最新更新