【发布时间】:2021-12-29 00:53:40
【问题描述】:
请帮忙!我一直在到处寻找解决方案,包括在官方 Moralis 论坛上提问,到目前为止,没有人能够给我一个解决方案。我已经在这里呆了 3 天了,仍然在同一个地方。假设我花了很多时间查看这段代码,以至于我实际上开始理解它而且我什至不是程序员......到目前为止,我已经看到其他人有类似的“ENOENT”错误但是他们的后面跟着一个丢失的文件或类似的东西。然而,我的问题只是说“未定义”,并没有告诉我什么是未定义的,或者我应该如何定义它。据我所知,我在根文件夹中,我已经安装了所有依赖项,完成了“npm install”,安装了“canvas”,做了“npm init”,清理了缓存,删除了画布,重新安装了画布,删除了“node_modules”文件夹,卸载 npm,然后重新安装 npm。不管我总是遇到同样的错误。
添加一些背景信息,这是我直接从 Moralis YouTube 页面观看的原始教程视频。
Generate NFTs with this simple code (this could make you millions) PART 1
这是他们 GitHub 上的官方骨干代码,我只将视频和 GitHub 上的几行更改为我自己的链接。这是 GitHub 的链接
Moralis Mutants NFT Collection | Generative Art Engine
这是我运行“node index.js”时得到的输出
PS C:\Users\Eli\Documents\moralis-mutants-nft-engine-main> node index.js
##################
# Generative Art #
# - Generating your NFT collection
##################
-----------------
Mutating 1 of 10000
- rarity: rare
- dna: 01--02-04-02-01-010-03-03-04
C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\node_modules\canvas\lib\image.js:91
SetSource.call(img, src);
^
Error: ENOENT, No such file or directory 'undefined'
at setSource (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\node_modules\canvas\lib\image.js:91:13)
at Image.set (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\node_modules\canvas\lib\image.js:62:9)
at C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\node_modules\canvas\index.js:34:15
at new Promise (<anonymous>)
at loadImage (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\node_modules\canvas\index.js:23:10)
at C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:83:25
at new Promise (<anonymous>)
at loadLayerImg (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:82:10)
at C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:344:29
at Array.forEach (<anonymous>)
at saveFile (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:343:15)
at handleFinal (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:389:31)
at startCreating (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:392:11)
at Object.<anonymous> (C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js:448:1)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10) {
errno: 2,
code: 'ENOENT',
path: 'undefined',
syscall: 'fopen'
}
Node.js v17.1.0
我现在也一直在尝试调试几个小时,这就是我在 Visual Studio Code 中运行默认调试器时得到的结果
C:\Program Files\nodejs\node.exe .\index.js
################## index.js:298
# Generative Art # index.js:299
# - Generating your NFT collection index.js:300
################## index.js:301
----------------- index.js:316
Mutating 1 of 10000 index.js:317
- rarity: rare index.js:323
- dna: 01--02-04-01-02-05-04-04-04 index.js:335
Uncaught Error: ENOENT, No such file or directory 'undefined'
Process exited with code 1
【问题讨论】:
-
如果我们可以看到文件 C:\Users\Eli\Documents\moralis-mutants-nft-engine-main\index.js,我们可以开始跟踪堆栈跟踪并查看代码是什么涉及。问题可能是函数调用中的一些错误参数,在错误发生之前深入了一大堆层,或者在极少数情况下,模块安装错误。
-
@jfriend00 我包含了一个指向 github 的链接,其中包含来自 Moralis 的原始 index.js 文件。不过我会在这里再次发布,这是一个更直接的链接。如果不完全相同,我的索引文件几乎完全相同。我唯一更改的文件是 config.js 文件,这些是视频专门说要更改的少数更改,与 github 上的方向相同。 github.com/ashbeech/moralis-mutants-nft-engine/blob/main/…这个链接有全部代码。
标签: javascript node.js visual-studio-code nft moralis