Necesito usar GRPC en nodejs, un proyecto de tipo script, tengo un problema al generar archivos proto en Windows 10 y npm.
Quiero ejecutar este archivo transpile-proto-ts.sh :
#!/usr/bin/env bash OUT_DIR="./src" TS_OUT_DIR="./src" IN_DIR="./protos" PROTOC="$(npm bin)/grpc_tools_node_protoc" PROTOC_GEN_TS_PATH="$(npm bin)/protoc-gen-ts" PROTOC_GEN_GRPC_PATH="$(npm bin)/grpc_tools_node_protoc_plugin" $PROTOC \ -I="./" \ --plugin=protoc-gen-ts=$PROTOC_GEN_TS_PATH \ --plugin=protoc-gen-grpc=${PROTOC_GEN_GRPC_PATH} \ --js_out=import_style=commonjs:$OUT_DIR \ --grpc_out=grpc_js:$OUT_DIR \ --ts_out=grpc_js:$TS_OUT_DIR \ "$IN_DIR"/*.proto pero cuando ejecuto este comando en git bash : bash transpile-proto-ts.sh
me muestra este error:
>--ts_out: protoc-gen-ts: %1 is not a valid Win32 application. C:\Projects\GRPC\node_modules\grpc-tools\bin\protoc.js:41 throw error; ^ Error: Command failed: C:\Projects\GRPC\node_modules\grpc-tools\bin\protoc.exe --plugin=protoc-gen-grpc=C:\Projects\GRPC\node_modules\grpc-tools\bin\grpc_node_plugin.exe --plugin=protoc-gen-grpc=./node_modules/.bin/grpc_tools_node_protoc_plugin --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --js_out=import_style=commonjs,binary:./protos --ts_out=./protos --grpc_out=./protos -I ./protos ./protos/example.proto --ts_out: protoc-gen-ts: %1 is not a valid Win32 application. at ChildProcess.exithandler (node:child_process:397:12) at ChildProcess.emit (node:events:390:28) at maybeClose (node:internal/child_process:1064:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) { killed: false, code: 1, signal: null, cmd: 'C:\\Projects\\GRPC\\node_modules\\grpc-tools\\bin\\protoc.exe --plugin=protoc-gen-grpc=C:\\Projects\\GRPC\\node_modules\\grpc-tools\\bin\\grpc_node_plugin.exe --plugin=protoc-gen-grpc=./node_modules/.bin/grpc_tools_node_protoc_plugin --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --js_out=import_style=commonjs,binary:./protos --ts_out=./protos --grpc_out=./protos -I ./protos ./protos/example.proto' }Asegúrese de que su archivo sh sea ejecutable como
chmod 777 transpile-proto-ts.shTuve un problema similar y usé YARN en lugar de NPM.