首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snarkjs错误:找不到文件,即使该文件存在于指定位置

Snarkjs错误:找不到文件,即使该文件存在于指定位置
EN

Stack Overflow用户
提问于 2021-01-17 11:18:02
回答 1查看 58关注 0票数 0
代码语言:javascript
复制
C:\Users\pushp\Desktop\factor>snarkjs zkey export solidityverifier circuit_final.zkey verifier.sol
[ERROR] snarkJS: [Error: ENOENT: no such file or directory, open 'C:\C:\Users\pushp\AppData\Roaming\npm\node_modules\snarkjs\templates\verifier_groth16.sol'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\C:\\Users\\pushp\\AppData\\Roaming\\npm\\node_modules\\snarkjs\\templates\\verifier_groth16.sol'
}

即使我可以在指定位置看到文件verifier_groth16.sol,我也会收到此错误。我所理解的是,我的位置是C:\Users\pushp\AppData\Roaming\npm\node_modules\snarkjs\templates\verifier_groth16.sol,而我可以在该位置之前看到一个额外的C:\,这可能会造成问题。如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 09:42:47

我解决了类似的问题,可能会对你有所帮助。我使用snarkjs@0.4.6。

代码语言:javascript
复制
>snarkjs generateverifier

C:\Users\spike\AppData\Roaming\npm\node_modules\snarkjs\build
\C:\Users\spike\AppData\Roaming\npm\node_modules\snarkjs\build\templates
[ERROR] snarkJS: [Error: ENOENT: no such file or directory, open 'C:\C:\Users\spike\AppData\Roaming\npm\node_modules\snarkjs\templates\verifier_groth16.sol.ejs'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\C:\\Users\\spike\\AppData\\Roaming\\npm\\node_modules\\snarkjs\\templates\\verifier_groth16.sol.ejs'
}

根据github issue#57 (Can't find package.json in directory)卡尔夫博尔的回答。我只是在C:\Users\spike\AppData\Roaming\npm\node_modules\snarkjs\build\cli.cjs上搜索"verifier_groth16.sol“

更新行

代码语言:javascript
复制
if (await fileExists(path__default['default'].join(__dirname$2, "templates"))) {
        templates.groth16 = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2, "templates", "verifier_groth16.sol.ejs"), "utf8");
        templates.plonk = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2, "templates", "verifier_plonk.sol.ejs"), "utf8");
    } else {
        templates.groth16 = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2, "..", "templates", "verifier_groth16.sol.ejs"), "utf8");
        templates.plonk = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2, "..", "templates", "verifier_plonk.sol.ejs"), "utf8");
    }

代码语言:javascript
复制
 if (await fileExists(path__default['default'].join(__dirname$2.slice(1,__dirname$1.length), "templates"))) {
    templates.groth16 = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2.slice(1,__dirname$1.length), "templates", "verifier_groth16.sol.ejs"), "utf8");
    templates.plonk = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2.slice(1,__dirname$1.length), "templates", "verifier_plonk.sol.ejs"), "utf8");
} else {
    templates.groth16 = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2.slice(1,__dirname$1.length), "..", "templates", "verifier_groth16.sol.ejs"), "utf8");
    templates.plonk = await fs__default['default'].promises.readFile(path__default['default'].join(__dirname$2.slice(1,__dirname$1.length), "..", "templates", "verifier_plonk.sol.ejs"), "utf8");
}

另一个类似的问题是How to fix nodejs throw err; ^ Error: ENOENT: no such file or directory, open

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65757006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档