使用纱线部署留言簿时,NEAR 上的 AssemblyScript:`/bin/sh:asb: command not found`

Posted

技术标签:

【中文标题】使用纱线部署留言簿时,NEAR 上的 AssemblyScript:`/bin/sh:asb: command not found`【英文标题】:AssemblyScript on NEAR: `/bin/sh: asb: command not found` when deploying Guest Book with yarn 【发布时间】:2021-05-29 13:28:21 【问题描述】:

当使用yarn deploy 在 NEAR 上运行 GuestBook example 时,会产生以下错误:

/bin/sh: asb: command not found

这似乎也发生在使用Figment Learn NEAR path 的人身上,基于Discord conversations。

跑步

npm install asb

返回

npm WARN ERESOLVE overriding peer dependency
npm WARN Found: assemblyscript@0.17.14
npm WARN node_modules/assemblyscript
npm WARN   assemblyscript@"^0.17.3" from near-sdk-core@2.2.4
npm WARN   node_modules/near-sdk-core
npm WARN     near-sdk-core@"^2.2.4" from near-sdk-as@2.2.4
npm WARN     node_modules/near-sdk-as
npm WARN   1 more (@as-pect/cli)
npm WARN 
npm WARN Could not resolve dependency:
npm WARN peer assemblyscript@"^0.13.3" from visitor-as@0.3.2
npm WARN node_modules/visitor-as
npm WARN   visitor-as@"^0.3.2" from near-sdk-core@2.2.4
npm WARN   node_modules/near-sdk-core
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/asb - Not found
npm ERR! 404 
npm ERR! 404  'asb@*' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

编辑: 许多yarn installyarn update 命令稍后,错误似乎已经迁移到缺少的asc 库:

$ asb
node:internal/modules/cjs/loader:926
  throw err;
  ^

Error: Cannot find module 'assemblyscript/cli/asc'

【问题讨论】:

asb 似乎是从 asbuild npm 模块 github.com/AssemblyScript/asbuild 运行的 【参考方案1】:

您是正确的asb 命令是asbuild 的缩写(这是另一个别名命令),它是near-sdk-as 的依赖项,应该与yarnyarn install 一起安装。

asc,安装为assemblyscript,也应该存在,因为它是near-sdk-as 的依赖项。所以没有被发现是可疑的。我的猜测是:

    您需要先运行yarn 来安装所有内容。 不知何故,NODE_ENV 被设置为"production",然后导致yarn 只安装dependencies 而不是devDependencies。要解决此问题,请使用 NODE_ENV=export NODE_ENV= 取消设置。然后再次运行yarn

我对@9​​87654338@ 和yarn 的一个抱怨是您需要一个安装步骤。 Rust 的 cargo 会根据需要安装依赖项。

【讨论】:

以上是关于使用纱线部署留言簿时,NEAR 上的 AssemblyScript:`/bin/sh:asb: command not found`的主要内容,如果未能解决你的问题,请参考以下文章

ReactJS 不从产品上的智能合约(NEAR)调用方法(查看时测试网不存在)

纱线上的 Spark Jobs |性能调优和优化

合约可以在 NEAR 协议中自行删除吗?

在heroku上部署应用程序时出现过时的纱线锁文件错误

如何在 AWS 部署中使用特定节点版本进行纱线设置?

如何解决 Spark 上的纱线容器尺寸问题?