You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Metaplex CLI上传Solana Devnet NFT遇模块缺失等错误求助

解决WSL下Metaplex CLI上传NFT的两类错误

一、「Non-base58 character」错误排查

这个错误核心是文件里混入了不符合Base58编码的字符,按以下步骤逐一排查:

  • 检查密钥文件~/.config/solana/devnet.json:打开文件确认内容是纯Base58字符串,没有多余空格、换行或引号。也可以用命令快速验证:
    cat ~/.config/solana/devnet.json | tr -d '\n' | grep -E '^[A-HJ-NP-Za-km-z1-9]+$'
    
    要是没输出,说明密钥格式错了,重新导出:
    solana-keygen new --outfile ~/.config/solana/devnet.json
    
  • 检查config.json:确认creators数组里的地址都是合法Solana地址(纯Base58格式),别写错字符,比如避免O、I、l这类易混淆的符号。
  • 检查./assets下的元数据:每个NFT的.json文件里,seller_fee_basis_points必须是数字,image字段是纯文件名(不能带特殊字符),所有字段格式要规范。

二、「Error: Cannot find module」错误解决

这个问题是Node.js找不到依赖模块,和Metaplex安装/环境配置有关:

  • 必须在Metaplex根目录下执行命令:先切换目录再跑CLI,比如:
    cd ~/metaplex
    ts-node js/packages/cli/src/candy-machine-v2-cli.ts upload -e devnet -k ~/.config/solana/devnet.json -cp config.json ./assets
    
  • 重装Metaplex依赖:删除目录下的node_modules和package-lock.json后重新安装:
    cd ~/metaplex
    rm -rf node_modules package-lock.json
    npm install
    
  • 匹配Node.js版本:Metaplex要求用Node.js 16.x版本,过高过低都会出问题,用nvm切换:
    nvm install 16
    nvm use 16
    
  • 修复文件权限:确保Metaplex和Solana配置目录有读写权限:
    chmod -R 755 ~/metaplex ~/.config/solana
    

三、验证流程

  1. 重新导出合法的Devnet密钥
  2. 核对所有配置、元数据文件的格式
  3. 在Metaplex根目录重装依赖
  4. 切换到Node.js 16.x后再执行上传命令

内容的提问来源于stack exchange,提问作者Death Sn1per

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:05:31