微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何运行用 Yarn 2 安装的二进制包

如何解决如何运行用 Yarn 2 安装的二进制包

我正在尝试 Yarn 2/Berry,但我无法弄清楚如何运行由包安装的二进制文件

我特别想运行 GRPC 打字稿编译。我在与 Yarn 1 一起使用的 bash 脚本中有以下命令:

yarn run grpc_tools_node_protoc \
    --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts \
    --ts_out=grpc_js:${PROTO_DEST} \
    --js_out=import_style=commonjs,binary:${PROTO_DEST} \
    --grpc_out=grpc_js:${PROTO_DEST} \
    -I ./protos \
    protos/*.proto

但是当我转到 Yarn 2/Berry 时,我收到一个错误./node_modules/.bin/protoc-gen-ts 不存在:

./node_modules/.bin/protoc-gen-ts: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--ts_out: protoc-gen-ts: Plugin Failed with status code 1.
/Users/paymahn/freenytapp/backend/.yarn/unplugged/grpc-tools-npm-1.11.2-665337de26/node_modules/grpc-tools/bin/protoc.js:41
    throw error;

当我运行 yarn bin 时,我看到以下内容

 ❯❯❯ yarn bin
➤ YN0000: eslint
➤ YN0000: grpc_tools_node_protoc
➤ YN0000: grpc_tools_node_protoc_plugin
➤ YN0000: protoc-gen-ts
➤ YN0000: tsc
➤ YN0000: tsserver
➤ YN0000: Done in 0s 19ms

当我运行 yarn bin protoc-gen-ts 时,我看到

 ❮❮❮ yarn bin protoc-gen-ts
/Users/paymahn/freenytapp/backend/.yarn/cache/grpc_tools_node_protoc_ts-npm-5.3.0-fa422555f1-efcdb0b83f.zip/node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts

它告诉我二进制文件安装在一个 zip 文件中(假设我没看错)。我怎样才能像经典纱线一样“公开”这个二进制文件,它位于 node_modules/.bin 中?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。