Solana Anchor(実態はRust)で、anchor testを実行したときに発生したエラー。
現象
anchor testを実行したところ、以下のエラーが発生。
ターミナル:
error[E0433]: failed to resolve: use of undeclared crate or module `anchor_spl`
--> programs/escrow/src/lib.rs:19:5
|
19 | use anchor_spl::token::{self, SetAuthority, Token, TokenAccount, Transfer};
| ^^^^^^^^^^ use of undeclared crate or module `anchor_spl`
error[E0433]: failed to resolve: use of undeclared crate or module `spl_token`
--> programs/escrow/src/lib.rs:20:5
|
20 | use spl_token::instruction::AuthorityType;
| ^^^^^^^^^ use of undeclared crate or module `spl_token`
lib.rs:
use anchor_lang::prelude::*;
use anchor_spl::token::{self, SetAuthority, Token, TokenAccount, Transfer};
use spl_token::instruction::AuthorityType;
原因
lib.rsでCrateを宣言していたが、インストールし忘れていた。
対応
利用したいCrateを宣言して、anchor testを再実行すれば解決。
今回のケースでは anchor-spl と spl-token を追記。
Cargo.toml
[dependencies]
anchor-lang = "0.25.0"
anchor-spl = "0.25.0"
spl-token = { version = "3.3.0", features = ["no-entrypoint"] }