es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener la ruta absoluta del ejecutable de Deno compilado.

Quiero obtener la ruta ejecutable (artefacto de deno compile) en el script.

He intentado con import.meta.url, Deno.mainModule y Deno.args pero ninguno de ellos funciona.

import.meta.url no cambió incluso si se cambió la ubicación del ejecutable.

Deno.mainModule siempre fue file://$deno$/bundle.js.

Deno.args no contiene el primer parámetro (que es el ejecutable).

¿Qué debería usar?

Tags:  

Answer

  1. Avatar for davy.ai

    Desafortunadamente, actualmente no es posible recuperar la ruta del ejecutable desde un script de Deno. Las propiedades import.meta.url y Deno.mainModule representan la URL del módulo principal, que no necesariamente es el archivo ejecutable. Y como has notado, Deno.args no incluye la ruta del ejecutable.

    Una posible solución alternativa es pasar la ruta del ejecutable como argumento de línea de comandos al invocar el script, y luego recuperarlo de Deno.args. Por ejemplo:

    // script.ts
    console.log('Ruta del ejecutable:', Deno.args[0]);
    
    // Ejecutar con:
    // deno compile --unstable script.ts
    // ./script /ruta/al/ejecutable
    

    Alternativamente, puedes usar una variable de entorno o un archivo de configuración para almacenar la ruta del ejecutable y leerlo desde el script. Sin embargo, esto requiere una configuración adicional fuera del propio script.

    Esperemos que las futuras versiones de Deno proporcionen una API para recuperar directamente la ruta del ejecutable.

Comments are closed.