【问题标题】:Error: Cannot find module './candy-machine-cli.ts'错误:找不到模块“./candy-machine-cli.ts”
【发布时间】:2022-01-14 05:24:08
【问题描述】:

我正在关注有关 NFT 铸币的 YouTube 视频,当我输入此视频时:

ts-node js/packages/cli/src/candy-machine-cli.ts 上传 ./assets --env devnet --keypair ~/.config/solana/devnet-test.json

我收到以下错误:

node:internal/modules/cjs/loader:936 抛出错误; ^

错误:找不到模块 './candy-machine-cli.ts' 需要堆栈: 在 Function.Module._resolveFilename (节点:internal/modules/cjs/loader:933:15) 在 Function.resolve (节点:internal/modules/cjs/helpers:108:19) 在 requireResolveNonCached (C:\Users\Victoria\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:321:16) 在 getProjectSearchDir (C:\Users\Victoria\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:291:40) 在 main (C:\Users\Victoria\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:193:27) 在对象。 (C:\Users\Victoria\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:351:5) 在 Module._compile (node:internal/modules/cjs/loader:1101:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node:internal/modules/cjs/loader:822:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\Users\Victoria\Desktop\vicc\metaplex\js\packages\cli\src\imaginaryUncacheableRequireResolveScript' ] }

然后我尝试了

ts-node js/packages/cli/src/candy-machine-v1-cli.ts 上传./assets --env devnet --keypair ~/.config/solana/devnet-test.json

这表明

[ERR] 错误:未知命令“上传”

我真的不知道如何解决这个问题,不胜感激。

【问题讨论】:

  • 您似乎将文件从candy-machine-cli.ts 重命名为candy-machine-v1-cli.ts,至少您的两个示例使用了不同的文件
  • 当我查看 src 下的内容时,似乎有一个“candy-machine-v1-cli.ts”和“candy-machine-v2-cli.ts”。所以我随机选择一个,看看会不会有什么变化。结果又出现了一个错误。

标签: node.js npm visual-studio-code nft


【解决方案1】:

我也遇到了同样的问题。这里的诀窍是使用 candy-machine-v2-cli.ts 实现和让糖果机工作。

Candy Machine v1 已弃用,您应该使用 v2 创建糖果机。

步骤保持不变,您可以尝试运行以下命令(可以通过解释找到here):-

ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts upload \
    -e devnet \
    -k ~/.config/solana/devnet.json \
    -cp config.json \
    -c example \
    ./assets

除此之外,我建议您阅读Candy Machine v2 上的文档。它涵盖的东西很全面。

【讨论】:

  • 感谢我按照文档并在 src 下创建了一个 config.json,现在它说“错误:ENOENT:没有这样的文件或目录,打开'config.json'”。
  • 我也想知道为什么其他人可以简单地在命令中键入“candy-machine-cli.ts”而不会遇到我遇到的问题,我们从 metaplex git clone 整个东西所以我想我们应该得到相同的结果吗?
  • 嘿,我也遇到了同样的 config.json 错误。我在他们的 github repo 中提出了一个问题,但仍在等待回复。我真的认为某处有一些突破点。检查问题:github.com/metaplex-foundation/metaplex/issues/1553
  • 我猜为什么其他人可以简单地输入“candy-machine-cli.ts”并且一切正常,因为他们在 v1 仅可用的时候使用了 metaplex 的 nft 糖果机(并且不需要通过版本号来调用事物)。如果您碰巧查看 /js/packages/cli/src/ 目录,很明显“candy-machine-cli.ts”根本不可用。
  • 哦,是的,有道理,但我关注的两个 YouTube 视频都是在 2021 年 10 月和 11 月制作的,metaplex 可能在那时更新了糖果机
【解决方案2】:

首先,在您的根文件夹中创建一个 config.json 文件。关注https://docs.metaplex.com/candy-machine-v2/configuration

然后在终端中运行以下命令---

ts-node js/packages/cli/src/candy-machine-v2-cli.ts upload -e devnet --keypair -cp config.json -c example ./assets

使用-- solana config get 获取您的密钥对路径

这对我有用...

【讨论】:

    猜你喜欢
    • 2013-01-14
    • 2018-12-30
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2022-06-16
    相关资源
    最近更新 更多