gpt4 book ai didi

substrate - 如何解决 Substrate `duplicate lang item in crate ' std'( 'myexternalcrate' 取决于): 'panic_impl' conflict with sr-io

转载 作者:行者123 更新时间:2023-12-03 23:49:45 25 4
gpt4 key购买 nike

我在我的 Substrate 1.0 运行时模块(基于 node-template )中使用了一个 extern crate,它给出了一个编译错误

duplicate lang item in crate 'std' (which 'myexternalcrate' depends on): 'panic_impl'.

= note: first defined in crate `sr_io` (which `node_template_runtime` depends on).

如果我正确理解该消息,那么我认为如果开发人员想要包含依赖于 std 的外部 crate,这可能是一个常见问题。已在 sr-io 中实现的功能,但我不确定这是否正确。

我看过这个问题 here ,似乎已在 sr-io 中修复但这似乎不是原因。

他们是解决这个问题的另一种方法吗?

编辑 : 添加对 Cargo.toml 的更改
我们正在尝试引入名为 nacl 的 crate

[dependencies]
nacl = {version = "0.3.0", default-features = false}

添加于 lib.rs
extern crate nacl;

在运行时模块中

use nacl::public_box::*;

最佳答案

您尝试使用的 crate ( rust-nacl ) 不支持 no_std ,因此不能在 Substrate 运行时环境中使用。

选项包括:

  • 找到另一个支持 no_std 的 crate并具有类似的功能:https://crates.io/keywords/no_std
  • 更新/写一个 crate 来支持 no_std (这可能不是那么糟糕,具体取决于 crate )。
  • 关于substrate - 如何解决 Substrate `duplicate lang item in crate ' std'( 'myexternalcrate' 取决于): 'panic_impl' conflict with sr-io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59388952/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com