He creado el programa cli con el paquete Commander pero me encontré con un error. Intento ejecutar mi programa fuera de la carpeta de mi programa, aparece un error como este en la terminal:
home/bimodwilaksono/.nvm/versions/node/v14.20.0/bin/getuser-cli: línea 1: error de sintaxis cerca del token inesperado `"dotenv"'
/home/bimodwilaksono/.nvm/versions/node/v14.20.0/bin/getuser-cli: línea 1: `require("dotenv").config();'
Este es mi código fuente:
require("dotenv").config(); const program = require("commander"); const mongoose = require("mongoose"); const db = mongoose.connect(process.env.DATABASE); const userSchema = new mongoose.Schema({ email: String, password: String, googleId: String, }); const User = new mongoose.model("User", userSchema); const listUsers = () => { User.find().then((Users) => { console.log(Users); console.log(`${Users.length} Users`); mongoose.disconnect(); }); }; //Program //List Command program .command("list") .alias("l") .description("List all users") .action(() => listUsers()); program.parse(process.argv);Aparentemente, cuando ejecuto mi programa fuera de su carpeta, no puede leer la variable de entorno . Pero si no uso la variable de entorno , mi programa funciona. Por ejemplo como este:
const db = mongoose.connect("ThisistheConnectionString");¿Qué tengo que hacer para ejecutar el programa que tiene una variable de entorno para que funcione?