未能在Apple Silicon M1上启动solana测试验证程序



当我尝试运行solana测试验证器时,我得到以下带有错误的终端输出:

--faucet-sol argument ignored, ledger already exists
Ledger location: test-ledger
Log: test-ledger/validator.log
Error: failed to start validator: TestValidator startup failed: Custom { kind: Other, error: "Discover failed" }

我的solana config get:

Config File: /Users/wojciech/.config/solana/cli/config.yml
RPC URL: http://localhost:8899
WebSocket URL: ws://localhost:8900/ (computed)
Keypair Path: /Users/wojciech/.config/solana/id.json
Commitment: confirmed

rustc版本Lrustc 1.58.0 (02072b482 2022-01-11)

我尝试了两种安装方式:推荐-通过curl,我也从源代码构建和安装(均为1.9.4版本(。在两次安装过程中都没有错误或警告。

从源代码构建允许您同时使用solana-test-validator的功能,并允许您利用锚环境进行构建和测试。您可以使用cargo buildcargo test,但这不会用所需的适当工件填充target/idl

注意:一旦设置了指向路径的符号链接,您将需要在项目目录中运行命令solana-test-validator。所以,如果您的项目是helloworld,那么您可以从那里运行测试验证器,而不是索拉纳源文件

在以下说明中,build-source指的是您下载的源代码(tar.gz(文件,以按照说明从源代码进行构建,从而安装此处的Solana CLI工具:https://docs.solana.com/cli/install-solana-cli-tools#build-来自源

从生成源项目根目录转到sdk/cargo-build-bpf。从那里,运行以下操作:

cargo install --path .

通过打开一个单独的终端并导航到~/.cargo/bin来验证创建的路径。用列出箱子的内容

ln -l .

您将看到SDK或货物构建bpf。在我运行蒙特利的Mac M1芯片上,我找到了以后者结束的路径。

因此,在苹果M1芯片上,货物构建bpf程序被安装到路径~/.cargo/bin/cargo-build-bpf。这将允许您在本地项目根目录中成功运行类似anchor build的命令,一旦您创建了从它到Solana源code/bin/sdk文件夹中的路径的符号链接。

在一个单独的终端中,导航到~/.cargo/bin,并在构建源项目的bin文件夹中创建一个指向sdk文件夹的符号链接,如下所示:

ln -s solana-1.9.2/bin/sdk ~/.cargo/bin/cargo-build-bpf

solana-1.9.2替换为先前下载的构建源代码。

您可以尝试在test-ledger/validator.log检查日志。通常它会是一些错误消息,如

re^[[0m^[[38;5;8m]^[[0m On mac OS you may need to run |sudo launchctl limit maxfiles 500000 500000| first

在许多情况下,运行sudo launchctl limit maxfiles 500000 500000可以修复它。

相关内容

  • 没有找到相关文章

最新更新