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

NEAR SC Challenge AS参数不足报错及Powershell/VSCode环境合约方法调用失败问题

NEAR SC Challenge 环境问题解决方案(Powershell + VSCode)

问题1:AssemblyScript 编译报错 Not enough non-option arguments: got 1, need at least 2

触发原因

该报错为near-sdk-as编译指令参数缺失导致,Powershell环境下常见触发场景为手动修改了项目预设编译脚本,或者直接在终端执行asb指令时缺省必填参数。

解决方法

  • 检查项目根目录package.json的scripts字段,确保build配置为默认值:"build": "asb --target debug && asb --target release",不要删除target参数
  • 编译合约统一执行yarn build或npm run build调用预设脚本,不要直接手动执行asb指令
  • 如需自定义编译逻辑,确保asb指令后同时传入合约入口文件路径和wasm输出目录路径两个必填参数

问题2:合约完成构建与dev-deploy后,修改/新增方法调用失败

触发原因

本地修改合约代码后未完成全量重新部署流程,调用时仍指向旧版本合约;或者dev-deploy生成了新的测试账户,调用时仍使用旧的合约账户地址。

解决方法

  • 每次修改合约代码后,先执行yarn build重新编译生成最新的wasm文件
  • 执行near dev-deploy重新部署合约,复制部署成功后终端输出的新合约账户:Done deploying to dev-xxxxxxxxxxx-xxxxxx
  • 调用合约时必须使用新生成的合约账户地址:
    • 无参view方法helloWorld调用指令:near view <新合约账户名> helloWorld
    • 新增的whatsYourName方法如果是view方法参照上述指令格式,如为change方法需使用near call指令,注意配置gas限额和签名账户
  • 如需固定使用同一个dev测试账户部署,可指定账户参数部署:near dev-deploy --accountId <已有的dev账户名>,前提是本地.near-credentials目录下存在该账户的密钥文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:54:03