编译Solana example-helloworld智能合约报非目录错误解决方法
报错原因
首次执行编译命令时提前终止了依赖安装流程,导致本地Solana v1.10.5版本的BPF编译工具链文件残缺,bpf-tools/rust/lib路径不存在,触发目录校验错误。
修复操作
按顺序执行以下命令即可解决:
- 删除损坏的BPF工具链残留文件:
rm -rf ~/.local/share/solana/install/releases/1.10.5/solana-release/bin/sdk/bpf/dependencies/bpf-tools
- 移除rustup中绑定的无效bpf工具链:
rustup toolchain remove bpf
- 重新执行编译命令,等待依赖自动完成全量安装(中途不要手动终止进程):
npm run build:program-rust
如果执行完上述操作仍报错,直接删除整个残缺的v1.10.5版本SDK目录后重新编译即可:
rm -rf ~/.local/share/solana/install/releases/1.10.5 npm run build:program-rust
内容的提问来源于stack exchange,提问作者incog
相关产品推荐
相关产品推荐

