Unable to build crate with deno_runtime 0.139.0 or 0.140.0, due to version numbering in deno_ast

The two most recently released versions of the deno_runtime crate cannot build at all, due to its build dependency deno_ast ^1.0.1. The latest version of deno_ast is 0.32.1, but cargo reads that as a lower version number, and therefore refuses to use it. The exact version 1.0.1 of deno_ast was yanked from crates.io, so it can't be used for building.
3 Replies
Optical Disc 💿
$ cargo build # Attempt with deno_runtime = "0.139.0"
Updating crates.io index
error: failed to select a version for the requirement `deno_ast = "^1.0.1"`
candidate versions found which didn't match: 0.32.1, 0.32.0, 0.31.6, ...
location searched: crates.io index
required by package `deno_runtime v0.139.0`
... which satisfies dependency `deno_runtime = "^0.139.0"` of package `<crate-name> v0.1.0 (/var/home/opticaldisc/<path>)`
perhaps a crate was updated and forgotten to be re-vendored?
$ cargo build # Attempt with deno_runtime = "0.139.0"
Updating crates.io index
error: failed to select a version for the requirement `deno_ast = "^1.0.1"`
candidate versions found which didn't match: 0.32.1, 0.32.0, 0.31.6, ...
location searched: crates.io index
required by package `deno_runtime v0.139.0`
... which satisfies dependency `deno_runtime = "^0.139.0"` of package `<crate-name> v0.1.0 (/var/home/opticaldisc/<path>)`
perhaps a crate was updated and forgotten to be re-vendored?
$ cargo build # Attempt with deno_runtime = "0.140.0"
Updating crates.io index
error: failed to select a version for the requirement `deno_ast = "^1.0.1"`
candidate versions found which didn't match: 0.32.1, 0.32.0, 0.31.6, ...
location searched: crates.io index
required by package `deno_runtime v0.140.0`
... which satisfies dependency `deno_runtime = "^0.140.0"` of package `<crate-name> v0.1.0 (/var/home/opticaldisc/<path>)`
perhaps a crate was updated and forgotten to be re-vendored?
$ cargo build # Attempt with deno_runtime = "0.140.0"
Updating crates.io index
error: failed to select a version for the requirement `deno_ast = "^1.0.1"`
candidate versions found which didn't match: 0.32.1, 0.32.0, 0.31.6, ...
location searched: crates.io index
required by package `deno_runtime v0.140.0`
... which satisfies dependency `deno_runtime = "^0.140.0"` of package `<crate-name> v0.1.0 (/var/home/opticaldisc/<path>)`
perhaps a crate was updated and forgotten to be re-vendored?
Deno AI Helper
Deno AI Helper7mo ago
I wasn't able to find the answer to your question in the official Deno documentation. However, based on the information you've provided, it seems like there might be a versioning issue with the deno_ast crate that is causing the build process to fail. The deno_runtime crate you are trying to build has a dependency on deno_ast with a version specification of ^1.0.1. However, if the version 1.0.1 has been yanked and the latest version is 0.32.1, Cargo will indeed see 0.32.1 as a lower version and not compatible with the specified ^1.0.1 requirement. This advice is not based on the Deno documentation, so please double-check the accuracy of this advice. You might want to check the release notes or updates from the Deno team regarding this issue, or reach out to the maintainers of the deno_runtime crate for guidance on how to proceed with the build or if there is a workaround or fix available.