#version #latest #maven #dependencies #deps-dot-dev

app latest-version

检查 deps.dev 以获取任何工件的最新版本

3 个版本

0.1.2 2021 年 6 月 6 日
0.1.1 2021 年 6 月 4 日
0.1.0 2021 年 6 月 4 日

#2544命令行工具

MIT/Apache

42KB
765

latest-version

GitHub Actions workflow status Latest version on crates.io Latest release on Github License: MIT/Apache-2.0
GitHub most-used language Total number of source code lines

检查 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包需要两个组件,即groupIdartifactId。这也是默认系统。

以下调用是相同的

$ 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