Skip to content

【nightly rustup toolchain 的组件可用性报告】生成工具

Notifications You must be signed in to change notification settings

stuartZhang/rustup-components-history

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rustup-components-history

这款网页工具是Mozilla官方Rustup components availability tool在线工具的强化版。

官方在线工具仅能提供最近七天Nightly Artifact的组件可用性报告。但是,我做的强化版则能够根据

  1. 发布频道channel
  2. (交叉)编译的目标平台target
  3. 发布时间(范围)

生成任意时段Nightly Artifact的组件可用性报告。甚至,它还能

  1. 用绿色高亮出profile = completeNightly Artifact
  2. 用黄色高亮出profile = defaultNightly Artifact
  3. 用红色高亮出不可用的Nightly Artifact
  4. 列出每一个组件的最后发布日期

Rustup components availability tool

此外,搜索表单项

  1. 【发布频道】是一个组合输入框。既可以选择枚举值,也允许输入具体的版本号<major.minor>|<major.minor.patch>
  2. 【目标平台】支持模糊匹配的搜索功能,因为平台项太多了。

我为什么要强化Rustup components availability tool在线工具

2021年清明节放假期间,我鬼使神差地执行了rustup update指令将本地安装的nightly rustup toolchain做了一次大升级。多么错误的决定!关键是我没有记录升级前能够正常工作的nightly rustup toolchain的版本信息(特别是,发布日期)。

在工具链被升级之后,我悲哀地发现wasm-pask开始编译失败了。其一直在报error: linking with rust-lld failed的链接错误。后来,我Google得知这是:“新版本nightly - rustc编译器与wasm-pack之间兼容性的、已知的缺陷。得等wasm-pack后续版本升级”。

wasm-pack升级,得等到什么时候,谁知道呀!我眼下必须立即回退nightly - rustup toolchain到正常版本,让我的工程尽快恢复工作状态。因为升级前我没有查看与记录旧nightly - rustup toolchain的版本号与发布日期,所以我想退版本,却不知道要退到哪个版本?

官方Rustup components availability tool在线工具罗列的nightly - rustup toolchain,我都试了个遍也没有避开error: linking with rust-lld failed错误。所以,我需要回退到更早得多的版本。即,官方Rustup components availability tool在线工具并没能提供组件完整性报告的版本。没有【组件完整性报告】而一个版本一个版本地试,那得是多么缓慢与痛苦的过程呀!

于是,我下定决心要做这么一款工具。还好,不是从头做。至少,后端Rust Restful API是现成的,并且还支持CORS。这样前端的事情就简单多了。

工作原因

  1. 首先,根据【发布日期】区间搜索条件,逐天地调用https://static.rust-lang.org/?prefix=***&marker=***接口,从而获得每一天的nightly rustup toolchain的发布版本信息。
  2. 然后,对后端返回的数据,根据【发布频道】与【目标平台】做过滤。
  3. 接着,再重新组织数据为
    1. 以组织为行
    2. 以日期为列 的二维数据结构。

大约就这么简单吧。其两、三个小时左右的工作量。webpack4 + babel7 + ts4 + scss + vue3真香!

如何使用这款工具

我没有条件把这个静态网页部署到某个公网服务器上。但是,你可以把整个工程git clone到你本地。然后,本地运行。

系统要求

  1. 要求node版本大于等于10.x,同时小于等12.x

  2. 安装命令行工具@minxing/cli

    npm i -g @minxing/cli@latest --registry=http://npm.dehuinet.com:8100

    因为工程里的许多依赖都来自于公司的npm私有云。

方案一步骤

  1. 去到工程根目录
  2. 执行minxing i安装依赖
  3. 执行npm run dev。然后,你本地的默认浏览器就会自动打开网址http://127.0.0.1:9000/web_apps/rustup-components-history/

方案二步骤

  1. 去到工程根目录
  2. 执行minxing i安装依赖
  3. 执行npm run build
  4. dist文件夹下的内容,scp上传到你们的内网web server目录内。
  5. 或在dist目录下,执行http-server,便可直接打开网页了。

About

【nightly rustup toolchain 的组件可用性报告】生成工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published