3 个版本
0.1.2 | 2021 年 6 月 6 日 |
---|---|
0.1.1 | 2021 年 6 月 4 日 |
0.1.0 | 2021 年 6 月 4 日 |
#2544 在 命令行工具
42KB
765 行
latest-version
检查 deps.dev 以获取任何工件的最新版本
安装
预构建的二进制文件可以从 GitHub 发布 中拉取。
该项目发布在 crates.io 上,如果您已安装 Rust 工具链,也可以通过 cargo 安装。
cargo install latest-version
或者,您也可以从源代码构建。
构建
先决条件
此工具是用 Rust 构建的,因此您需要安装 Rust 工具链和 cargo。如果您没有,请访问 https://rustup.rs/ 并按照他们的说明进行操作。
构建
首选方式是运行
make install
如果您没有较新的 make(在 macOS 上,homebrew 可以安装较新版本),或者不想使用 make,您也可以运行 cargo install --path .
。
用法
运行 latest-version --help
以查看所有可用选项的概述。
主要用法是提供以 [系统:]groupId:artifact
形式提供的工件坐标,后跟多个 :version
约束条件。这些版本约束条件是 语义版本范围。对于提供的每个版本,都会打印出 Maven Central 上可用的最新版本。
默认版本
可以省略版本范围,在这种情况下,将打印出整体最新版本。
多个版本范围
您还可以输入多个坐标,每个坐标都有其要检查的版本。结果将按到达顺序打印,因此可能不是按顺序打印。
预发布版本
可以使用 --include-pre-releases
标志(或 -i
简写)包含预发布版本。
版本覆盖
版本按照顺序匹配,单个版本只能被一个限定符匹配。根据范围,之前的匹配将消耗掉所有后续限定符也会匹配到的版本。尽量按照从严格到宽松的顺序定义限定符。
示例
匹配次要兼容版本。
$ latest-version org.neo4j.gds:proc:~1.1:~1.3:1
Latest version for maven:org.neo4j.gds:proc matching >=1.1.0, <1.2.0: 1.1.6
Latest version for maven:org.neo4j.gds:proc matching >=1.3.0, <1.4.0: 1.3.5
Latest version for maven:org.neo4j.gds:proc matching >=1.0.0, <2.0.0: 1.6.0
匹配主兼容版本。注意,1.3
不会产生任何匹配,因为它已经被1.1
所覆盖。
$ latest-version org.neo4j.gds:proc:^1.1:^1.3:^1
Latest version for maven:org.neo4j.gds:proc matching >=1.1.0, <2.0.0: 1.6.0
No version for maven:org.neo4j.gds:proc matching >=1.3.0, <2.0.0
Latest version for maven:org.neo4j.gds:proc matching >=1.0.0, <2.0.0: 1.0.0
包含预发布版本。
$ latest-version org.neo4j.gds:proc:~1.1:~1.3:1 --include-pre-releases
Latest version for maven:org.neo4j.gds:proc matching >=1.1.0, <1.2.0: 1.1.6
Latest version for maven:org.neo4j.gds:proc matching >=1.3.0, <1.4.0: 1.3.5
Latest version for maven:org.neo4j.gds:proc matching >=1.0.0, <2.0.0: 1.4.0-alpha02
默认版本。
$ latest-version org.neo4j.gds:proc
Latest version for maven:org.neo4j.gds:proc matching >=0.0.0: 1.6.0
$ latest-version org.neo4j.gds:proc --include-pre-releases
Latest version for maven:org.neo4j.gds:proc matching *: 1.4.0-alpha02
多次检查。
$ latest-version org.neo4j.gds:proc org.neo4j:neo4j
Latest version for maven:org.neo4j.gds:proc matching >=0.0.0: 1.6.0
Latest version for maven:org.neo4j:neo4j matching >=0.0.0: 4.2.6
工件坐标
默认限定符搜索Maven包,并使用groupId:artifactId
方案。这些限定符可以添加一个deps.dev上的可用系统前缀。在编写本文档时,以下系统可用:
maven
cargo
npm
go
存在系统选择器会改变剩余限定符的理解方式。
Maven包
[maven:]$groupId:$artifactId
Maven包需要两个组件,即groupId
和artifactId
。这也是默认系统。
以下调用是相同的
$ latest-version org.neo4j:neo4j maven:org.neo4j:neo4j
Latest version for maven:org.neo4j:neo4j matching >=0.0.0: 4.2.6
Latest version for maven:org.neo4j:neo4j matching >=0.0.0: 4.2.6
显式使用maven:
可以搜索包含系统标识符的组ID的工件,例如cargo:cargo
。
使用cargo:cargo
将搜索cargo
系统中的cargo
crate。使用maven:cargo:cargo
将搜索maven
系统中的cargo
groupId和cargo
artifactId。
Cargo crate
cargo:$crate
Cargo crate需要显式cargo:
系统标识符,后跟一个crate
名称。
$ latest-version cargo:lenient_semver
Latest version for cargo:lenient_semver matching >=0.0.0: 0.3.0
NPM包
npm:[$scope:]$package
NPM包需要显式npm:
系统标识符,后跟一个可选的作用域,然后是包。
在最简单的情况下,npm只需要一个包限定符
$ latest-version npm:neo4j-driver
Latest version for npm:neo4j-driver matching >=0.0.0: 4.3.0
为了搜索作用域包,作用域需要在包名称之前。作用域可以用@
或/
来区分,前导的@
是可选的。所有这些都是相同的
$ latest-version npm:@types/neo4j npm:types/neo4j npm:@types:neo4j npm:types:neo4j
Latest version for npm:@types/neo4j matching >=0.0.0: 2.0.2
Latest version for npm:@types/neo4j matching >=0.0.0: 2.0.2
Latest version for npm:@types/neo4j matching >=0.0.0: 2.0.2
Latest version for npm:@types/neo4j matching >=0.0.0: 2.0.2
搜索作为版本要求的包,例如@euler/1
,需要使用@
或/
来区分,以避免仅搜索euler
和版本要求1
。
$ latest-version npm:euler:1 npm:@euler:1 npm:euler/1 npm:@euler/1
No version for npm:euler matching >=1.0.0, <2.0.0 # <- `npm:euler:1` -> unscoped `euler`, version 1
Latest version for npm:@euler/1 matching >=0.0.0: 0.0.5 # using `@` to disambiguate
Latest version for npm:@euler/1 matching >=0.0.0: 0.0.5 # using `/` disambiguate
Latest version for npm:@euler/1 matching >=0.0.0: 0.0.5 # using `@` and `/` to disambiguate
Go模块
go:$user:$module
Go模块需要显式的go:
系统标识符,后面跟两个更多标识符。这些将被搜索为完整的模块路径github.com/$user/$module
。为了使语法与:
作为分隔符对齐,github.com
也可以用来指定来自github.com仓库的模块。要使用不同的仓库,您可以指定完整的路径作为单个参数。
以下内容是相同的
$ latest-version go:neo4j:neo4j-go-driver go:github.com/neo4j/neo4j-go-driver github.com:neo4j:neo4j-go-driver
Latest version for go:github.com/neo4j/neo4j-go-driver matching >=0.0.0: v1.8.3
Latest version for go:github.com/neo4j/neo4j-go-driver matching >=0.0.0: v1.8.3
Latest version for go:github.com/neo4j/neo4j-go-driver matching >=0.0.0: v1.8.3
请注意,使用单个标识符与/
确实需要一个仓库
$ latest-version go:neo4j/neo4j-go-driver
No version for go:neo4j/neo4j-go-driver matching >=0.0.0
关于数据
latest-version
使用开源洞察(deps.dev)提供数据。包信息通常在每小时之内更新。
许可证:MIT OR Apache-2.0
依赖项
~11–24MB
~344K SLoC