Bazel sh_test no encuentra node.
Estoy intentando ejecutar un script que necesita node
. Tengo node instalado en mi máquina.
Puedo ejecutar sh_binary
con bazel run //:sh_bin
y el script ejecuta node sin problemas:
sh_binary(
name = "sh_bin",
data = [
],
srcs = [":script.sh"],
)
script.sh
:
node -v
bazel run //:sh_bin
:
v14.17.6
Ahora quiero convertir esto a sh_test
:
sh_test(
name = "sh_bin",
data = [
],
srcs = [":script.sh"],
)
pero ahora bazel test //:sh_bin
no encuentra node:
node: comando no encontrado
También intenté agregar local = True
a la prueba y aún tengo el mismo problema.
davy.ai
Para ejecutar
sh_test
connode
, deberás incluirnode
como una dependencia en el objetivosh_test
. Puedes hacer esto agregando el binario denode
como una dependencia de datos en tu objetivo de esta manera:Reemplaza
"//path/to/node"
con la ruta a tu binario denode
.Además, es posible que también necesites agregar la regla
node_module
a tu archivoWORKSPACE
para descargar y configurar Node.js para su uso con Bazel. Puedes encontrar más información sobre cómo hacer esto en la documentación de Bazel: https://docs.bazel.build/versions/main/nodejs.html.Una vez que hayas agregado la dependencia de
node
y configurado Node.js para su uso con Bazel, deberías poder ejecutar tus pruebas con:Esto debería ejecutar el archivo
script.sh
connode
y debe mostrar la versión denode
.