使用Javy命令将JavaScript转换为wasm二进制文件时提示命令未找到
报错场景
使用Javy将JavaScript代码编译为wasm文件。Javy是JavaScript到WebAssembly的转换工具链,可接收JavaScript代码,在嵌入WebAssembly的JavaScript运行时中执行对应代码。已完成全部构建与开发环境配置,执行编译命令:
javy index.js -o index.wasm
触发如下报错:
ajit0902@AJITPC:/mnt/c/Users/msi/javy/target/release$ javy index.js -o index.wasm Command 'javy' not found, did you mean: command 'java' from deb openjdk-11-jre-headless (11.0.15+10-0ubuntu0.20.04.1) command 'java' from deb default-jre (2:1.11-72) command 'java' from deb openjdk-16-jre-headless (16.0.1+9-1~20.04) command 'java' from deb openjdk-17-jre-headless (17.0.3+7-0ubuntu0.20.04.1) command 'java' from deb openjdk-8-jre-headless (8u312-b07-0ubuntu1~20.04) command 'java' from deb openjdk-13-jre-headless (13.0.7+5-0ubuntu1~20.04) command 'javr' from deb xc3sprog (0+svn795+dfsg-1build1) Try: sudo apt install <deb name>
故障原因
shell找不到javy可执行文件。从终端路径可以看出,你当前已经处于javy编译产物的存放目录/mnt/c/Users/msi/javy/target/release,但该目录没有被加入系统环境变量PATH的检索范围,所以直接输入javy时系统无法匹配到对应程序。
修复方法
两种方案按需选择:
- 临时执行(仅当前目录下可用):直接调用当前目录下的二进制文件,命令改为:
./javy index.js -o index.wasm
- 全局配置(任意目录都可直接调用javy):
- 编辑当前使用shell的配置文件,默认bash环境编辑
~/.bashrc,zsh环境编辑~/.zshrc,在文件末尾追加如下内容:
export PATH="/mnt/c/Users/msi/javy/target/release:$PATH"- 执行加载命令让配置立即生效,bash执行
source ~/.bashrc,zsh执行source ~/.zshrc,之后就可以在任意路径直接使用javy命令了。
- 编辑当前使用shell的配置文件,默认bash环境编辑
内容的提问来源于stack exchange,提问作者Ajit
相关产品推荐
相关产品推荐

