Rust / Wasm:モジュールが見つかりません:エラー:「env」を解決できません

キアネニグマ

このクレートのラッパーをwasmに移植しようとしています私の現在のツールチェーンは次のとおりです。

  • wasm-pack
  • webpack
  • wasm-bindgen

ビルドシステムに関するもう少し情報:

私の錆びた木枠(--lib木枠です)では、私はと呼ぶだけwasm-pack build --target browserです。これにより、pkgwasmblobと関連するjsファイルを含むフォルダーが作成されます。ここにコンパイラからの苦情はありません。

次に、内部pkgnpm link(1回だけ)実行します。

次に、cargo generate --git https://github.com/rustwasm/wasm-pack-template必要なWebアプリの定型文を作成します。このコマンドで生成されたフォルダー内で、実行npm link schnorrkel-jsして表示します。npm run startwebpack開発サーバーを実行します。

単純な計算関数のバインドやアラートなどの初期テストは正常に機能します。

上記のクレート(からいくつかのどれも)関数を使い始めると、すべてが壊れます。残念ながら、私が受け取るエラーメッセージは非常に有益ではなく、まったく役に立ちません。

Entrypoint main = bootstrap.js
[../pkg/schnorrkel_js.js] 3.53 KiB {0} [built]
[../pkg/schnorrkel_js_bg.wasm] 93.7 KiB {0} [built]
    + 27 hidden modules

ERROR in ../pkg/schnorrkel_js_bg.wasm
Module not found: Error: Can't resolve 'env' in '.../schnorrkel-js/pkg'
 @ ../pkg/schnorrkel_js_bg.wasm
 @ ../pkg/schnorrkel_js.js
 @ ./index.js
 @ ./bootstrap.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 ./bootstrap.js

これの原因は何ですか?いくつかの基本的な機能はwasmに移植できないと強く推測していますが、正確に、なぜ、そして何を言おうとしているエラーメッセージは何ですか?


ノート:

  • 最新の錆びたナイトリーバージョンを使用しています(rustc 1.34.0-nightly (d17318011 2019-02-07)

  • 残りのセットアップ手順は、Rust andWebassemblyブックから直接実行されます

  • Cargo.toml

[package]
name = "schnorrkel-js"
edition = "2018"

[lib]
crate-type = ["cdylib"]

[dependencies]
wasm-bindgen = "0.2"
schnorrkel = { git = "https://github.com/w3f/schnorrkel.git" }

コード例:

#[wasm_bindgen] 
pub fn verify(signature: &[u8], message: &[u8], pubkey: &[u8]) -> bool {
    let sig = match Signature::from_bytes(signature) {
        Ok(some_sig) => some_sig,
        Err(_) => return false
    };
    let pk = match PublicKey::from_bytes(pubkey) {
        Ok(some_pk) => some_pk,
        Err(_) => return false
    };

    // works up until here if I return a boolean. 
    // calling this breaks everything.
    pk.verify_simple(SIGNING_CTX, message, &sig)
}

ジョナサンレイエス

ここで説明したように、これはclear_on_drop依存関係で使用されるCコードの問題である可能性があるようです

クレートでnightly機能を有効にしてみてください。これにより、Cの使用を無効にschnorrkelするnightly機能が有効になりclear_on_dropますCargo.toml

[dependencies]
wasm-bindgen = "0.2"
schnorrkel = { git = "https://github.com/w3f/schnorrkel.git", features = ["nightly"] }

または、コンパイルされたバイナリでwasm2watオンラインバージョンがあります)を使用して、.wasmどのenvインポートが失敗しているかを調べることができます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rust 2018でモジュールを使用するときに、「ルートにモジュールがありません」というエラーを解決するにはどうすればよいですか?

分類Dev

Rust&Amethyst-エラー[E0433]:解決に失敗しました: `quote`に` __rt`が見つかりませんでした

分類Dev

モジュールが見つかりません:エラー: '@ angular / animations'を解決できません

分類Dev

モジュールが見つかりません:エラー: '@ angular / animations'を解決できません

分類Dev

webpackモジュールが見つかりません:エラー:「jquery」を解決できません

分類Dev

モジュールが見つかりません:エラー:「react-bootstrap-validation」を解決できません

分類Dev

モジュールが見つかりません:エラー:「hammerjs」を解決できません

分類Dev

モジュールが見つかりません:エラー:「@ angular / core」を解決できません

分類Dev

モジュールが見つかりませんエラー:@ types / historyの「history」を解決できません

分類Dev

モジュールが見つかりません:エラー:「rxjs / add / observable / throw」を解決できません

分類Dev

モジュールが見つかりません:エラー:「ts-loader」を解決できません

分類Dev

モジュールが見つかりません:エラー:「avoriaz」を解決できません

分類Dev

モジュールが見つかりません:エラー:「./ templates」を解決できません

分類Dev

モジュールが見つかりません:エラー:「C:」の「./firebase」を解決できません

分類Dev

React:モジュールが見つかりません:エラー:「react / lib / update」を解決できません

分類Dev

NUXT:モジュールが見つかりません:エラー:「fs」を解決できません

分類Dev

Angular 6-モジュールが見つかりません:エラー:「http」を解決できません

分類Dev

モジュールが見つかりません:エラー:「dropzone」を解決できません

分類Dev

モジュールが見つかりません:エラー:「lodash-es」を解決できません

分類Dev

モジュールが見つかりません:エラー:「ngx-bootstrap」を解決できません

分類Dev

モジュールが見つかりません:エラー:「cypress-react-selector」を解決できません

分類Dev

モジュールが見つかりません:エラー:「ReactDOM」を解決できません

分類Dev

rust-lld:エラー:ライブラリ-lpqが見つかりません

分類Dev

Angular 2:モジュールが見つかりません:エラー:解決できません

分類Dev

モジュールが見つかりません:解決できません

分類Dev

エラーを返すReactjsに画像をインポートできませんモジュールが見つかりません:解決できません

分類Dev

モジュールが見つかりません:エラー:webpackを使用するとモジュール 'react'を解決できません

分類Dev

モジュールが見つかりません:エラー:モジュールを解決できません

分類Dev

"モジュールが見つかりません:エラー:モジュール 'react / lib / ReactMount'を解決できません"

Related 関連記事

  1. 1

    Rust 2018でモジュールを使用するときに、「ルートにモジュールがありません」というエラーを解決するにはどうすればよいですか?

  2. 2

    Rust&Amethyst-エラー[E0433]:解決に失敗しました: `quote`に` __rt`が見つかりませんでした

  3. 3

    モジュールが見つかりません:エラー: '@ angular / animations'を解決できません

  4. 4

    モジュールが見つかりません:エラー: '@ angular / animations'を解決できません

  5. 5

    webpackモジュールが見つかりません:エラー:「jquery」を解決できません

  6. 6

    モジュールが見つかりません:エラー:「react-bootstrap-validation」を解決できません

  7. 7

    モジュールが見つかりません:エラー:「hammerjs」を解決できません

  8. 8

    モジュールが見つかりません:エラー:「@ angular / core」を解決できません

  9. 9

    モジュールが見つかりませんエラー:@ types / historyの「history」を解決できません

  10. 10

    モジュールが見つかりません:エラー:「rxjs / add / observable / throw」を解決できません

  11. 11

    モジュールが見つかりません:エラー:「ts-loader」を解決できません

  12. 12

    モジュールが見つかりません:エラー:「avoriaz」を解決できません

  13. 13

    モジュールが見つかりません:エラー:「./ templates」を解決できません

  14. 14

    モジュールが見つかりません:エラー:「C:」の「./firebase」を解決できません

  15. 15

    React:モジュールが見つかりません:エラー:「react / lib / update」を解決できません

  16. 16

    NUXT:モジュールが見つかりません:エラー:「fs」を解決できません

  17. 17

    Angular 6-モジュールが見つかりません:エラー:「http」を解決できません

  18. 18

    モジュールが見つかりません:エラー:「dropzone」を解決できません

  19. 19

    モジュールが見つかりません:エラー:「lodash-es」を解決できません

  20. 20

    モジュールが見つかりません:エラー:「ngx-bootstrap」を解決できません

  21. 21

    モジュールが見つかりません:エラー:「cypress-react-selector」を解決できません

  22. 22

    モジュールが見つかりません:エラー:「ReactDOM」を解決できません

  23. 23

    rust-lld:エラー:ライブラリ-lpqが見つかりません

  24. 24

    Angular 2:モジュールが見つかりません:エラー:解決できません

  25. 25

    モジュールが見つかりません:解決できません

  26. 26

    エラーを返すReactjsに画像をインポートできませんモジュールが見つかりません:解決できません

  27. 27

    モジュールが見つかりません:エラー:webpackを使用するとモジュール 'react'を解決できません

  28. 28

    モジュールが見つかりません:エラー:モジュールを解決できません

  29. 29

    "モジュールが見つかりません:エラー:モジュール 'react / lib / ReactMount'を解決できません"

ホットタグ

アーカイブ