Solana/Anchor error: (yanked dependencies) Failed to obtain package metadata: `cargo metadata` exited with an error: Updating crates.io index
Solana/Anchor error: (yanked dependencies) Failed to obtain package metadata: `cargo metadata` exited with an error: Updating crates.io index
我昨天刚搭建了一个新的锚点项目,每个命令运行都很顺利。
今天我安装了一个新的锚点项目。我运行anchor test
看看项目是否设置正确。我收到此错误:
Failed to obtain package metadata: `cargo metadata` exited with an error: Updating crates.io index
error: failed to select a version for the requirement `anchor-lang = "^0.23.0"`
candidate versions found which didn't match: 0.24.2
location searched: crates.io index
required by package `myAnchorProject v0.1.0 (.../programs/myAnchorProject)`
不清楚候选版本是什么意思。我删除了 node_modules 并使用 "@project-serum/anchor": "^0.24.2"
安装它,仍然是同样的错误。
我清除 lib.rs
和测试文件以查看不同的内容,但它仍然给出相同的错误。
执行 cargo update
给出同样的错误
这不是你 package.json
中的依赖问题,而是由于使用了 yanked rust crate anchor-lang
所有其他版本 0.24.2
已被抽出,因此您无法构建任何已抽出依赖项的货运项目。
参考这里https://crates.io/crates/anchor-lang/versions
你需要做的是
转到 <your-project-root>/programs/myAnchorProject/cargo.toml
.
我假设您的程序名称是 myAnchorProject
或将其替换为您的程序名称。
您当前的 cargo.toml 必须类似于
...
<other content goes here>
...
[dependencies]
anchor-lang = "^0.23.0"
您需要将 anchor-lang 版本升级到 0.24.2
或任何其他未被抽取的可用版本。
所以你的最终 cargo.toml 应该看起来像
...
<other content goes here>
...
[dependencies]
anchor-lang = "^0.24.2"
我昨天刚搭建了一个新的锚点项目,每个命令运行都很顺利。
今天我安装了一个新的锚点项目。我运行anchor test
看看项目是否设置正确。我收到此错误:
Failed to obtain package metadata: `cargo metadata` exited with an error: Updating crates.io index
error: failed to select a version for the requirement `anchor-lang = "^0.23.0"`
candidate versions found which didn't match: 0.24.2
location searched: crates.io index
required by package `myAnchorProject v0.1.0 (.../programs/myAnchorProject)`
不清楚候选版本是什么意思。我删除了 node_modules 并使用 "@project-serum/anchor": "^0.24.2"
安装它,仍然是同样的错误。
我清除 lib.rs
和测试文件以查看不同的内容,但它仍然给出相同的错误。
执行 cargo update
给出同样的错误
这不是你 package.json
中的依赖问题,而是由于使用了 yanked rust crate anchor-lang
所有其他版本 0.24.2
已被抽出,因此您无法构建任何已抽出依赖项的货运项目。
参考这里https://crates.io/crates/anchor-lang/versions
你需要做的是
转到 <your-project-root>/programs/myAnchorProject/cargo.toml
.
我假设您的程序名称是 myAnchorProject
或将其替换为您的程序名称。
您当前的 cargo.toml 必须类似于
...
<other content goes here>
...
[dependencies]
anchor-lang = "^0.23.0"
您需要将 anchor-lang 版本升级到 0.24.2
或任何其他未被抽取的可用版本。
所以你的最终 cargo.toml 应该看起来像
...
<other content goes here>
...
[dependencies]
anchor-lang = "^0.24.2"