从Golang的.proto文件生成.js文件时遇ENOENT错误求助
解决pbjs生成.js文件时找不到.proto文件的问题
错误原因
你遇到的ENOENT: no such file or directory错误,本质是执行命令时系统找不到指定的input.proto文件,大概率是路径错误或当前工作目录与文件所在目录不匹配导致的。
分步解决方案
1. 确认当前工作目录与文件位置
在VSCode终端执行命令查看当前所在目录:
- Windows系统:
cd - macOS/Linux系统:
pwd
检查input.proto是否在该目录下:
- 若文件在子文件夹(比如
msg)中,命令里的路径要改为msg/input.proto - 若文件在其他路径,需填写完整绝对路径(示例:
C:/Users/Name/Documents/proto/input.proto)
2. 核对文件名拼写
确保文件名完全是input.proto,没有大小写错误(比如写成Input.proto)、多余空格或后缀错误(比如.proto.txt)。
3. 执行修正后的命令
根据文件位置调整命令:
- 文件在当前终端目录时:
pbjs -t static-module -w commonjs -o output.js input.proto - 文件在
msg子目录时:pbjs -t static-module -w commonjs -o output.js msg/input.proto - 使用绝对路径示例:
pbjs -t static-module -w commonjs -o output.js C:/Users/Name/Projects/my-app/input.proto
4. 可选:确认pbjs工具状态
若以上操作无效,可重新全局安装protobufjs确保工具正常:
npm install -g protobufjs
内容的提问来源于stack exchange,提问作者Riley.wu HQQ
相关产品推荐
相关产品推荐

