【问题标题】:npm run deploy failurenpm 运行部署失败
【发布时间】:2021-02-27 09:35:07
【问题描述】:

这是我之前帖子的后续 -> Contract method is not found 我现在正在尝试通过 npm run deploy 但是,它似乎失败了。

//helper.testnet.near.org, file: ./out/main.wasm
An error occured
Error: ENOENT: no such file or directory, open './out/main.wasm'
    at Object.openSync (fs.js:476:3)
    at Object.readFileSync (fs.js:377:35)
    at exports.deploy (/Users/User_Name/Desktop/nearTest/testVote/node_modules/near-cli/index.js:42:49)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Object.handler (/Users/User_Name/Desktop/nearTest/testVote/node_modules/near-cli/utils/exit-on-error.js:39:9) {
  [stack]: "Error: ENOENT: no such file or directory, open './out/main.wasm'\n" +
    '    at Object.openSync (fs.js:476:3)\n' +
    '    at Object.readFileSync (fs.js:377:35)\n' +
    '    at exports.deploy (/Users/User_Name/Desktop/nearTest/testVote/node_modules/near-cli/index.js:42:49)\n' +
    '    at processTicksAndRejections (internal/process/task_queues.js:93:5)\n' +
    '    at async Object.handler (/Users/User_Name/Desktop/nearTest/testVote/node_modules/near-cli/utils/exit-on-error.js:39:9)',
  [message]: "ENOENT: no such file or directory, open './out/main.wasm'",
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './out/main.wasm'
}```

【问题讨论】:

    标签: npm blockchain smartcontracts nearprotocol


    【解决方案1】:

    如果您使用的是create-near-app,则正如此错误所暗示的那样,它期望生成的二进制文件位于./out/main.wasm。目前有一个脚本compile,它创建了一个从二进制文件到out/main.wasm 的符号链接,可以调试也可以发布。脚本中的以下line 被硬编码为期望名称greeter.wasm

    `./build/${debug ? 'debug' : 'release'}/greeter.wasm`
    

    所以我的猜测是,如果您重命名了项目并且它默默地失败了。在我们解决此问题之前,请尝试将上面的内容更改为生成的 wasm 文件的名称。

    【讨论】:

    • 我怎么知道生成的wasm文件的名字是什么?另外,当我打开 out 文件夹并看到里面的 main.wasm 时,我有点困惑。
    • 我想我发现问题是 main.wasm 存在于我的 out 文件夹中,但没有以某种方式注册?基本上,如果我进入我的 Mac 上的 finder 并搜索目录,我会在 out 目录中看到 main.wasm 文件。但是,如果我通过文件树查看 VS 代码 main.wasm 不存在于 out 文件夹中,我也无法在 out 文件夹中创建新文件?发生了一些错误。
    • 您应该可以在build/(release/debug)/ 文件夹中看到该文件。如前所述,创建附近应用程序的新更改会创建指向文件的符号链接。这也可能是罪魁祸首。因此,您可以尝试在构建目录中找到该文件并将其复制到out 中,将其重命名为main.wasm。你能cd进入out目录吗?
    猜你喜欢
    • 1970-01-01
    • 2020-07-15
    • 2020-04-23
    • 2020-03-25
    • 2017-04-01
    • 2020-10-27
    • 2022-12-10
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多