Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
La variable NPM npm_package_main siempre está vacía

Problema

La variable NPM $npm_package_main siempre está vacía.

  1. Cuando configuro el archivo package.json con "main": "index.js"
  2. Establezca la propiedad "inicio" de los scripts en "start": "node $npm_package_main"
  3. Luego ejecute npm start

Problema : la CLI ejecuta el modo Node REPL, ignorando la variable "principal" de package.json.

Comportamiento esperado : ejecute el comando como node index.js .

Medioambiente

  • LinuxUbuntu 20.04.1
  • npm -v = 7.3.0
  • node -v = v15.5.0
  • npm run env | grep npm_package_name = npm_package_name=app
  • npm run env | grep npm_package_main = VACÍO

como reproducir

  • Cree un directorio de "aplicación" e ingrese el nuevo directorio
  • Cree un archivo "index.js" con el siguiente contenido console.log('HELLO');
  • Ejecute npm init y presione ENTER para todas las preguntas
  • Edite el archivo package.json y agregue la siguiente línea a la propiedad "scripts": "start": "node $npm_package_main",
  • ahora su paquete.json debe verse así
 { "name": "app", "version": "1.0.0", "description": "", "main": "index.js", "devDependencies": {}, "scripts": { "start": "node $npm_package_main", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
  • Ejecute "inicio npm"
  • El archivo "index.js" no se ejecuta y Node ingresa al modo REPL.

intentos

Establezca "inicio" y ejecute "npm start" para:

  • "echo $npm_package_main" no imprime nada
  • "echo $npm_package_name" imprime "aplicación"
  • "echo $npm_package_version" imprime "1.0.0"

Referencias

  • Variables NPM package.json: https://docs.npmjs.com/cli/v7/using-npm/scripts
  • Problema de NPM Github: https://github.com/npm/cli/issues/2585
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

  • La respuesta oficial de NPM: use "nodo". No hay una razón oficial para este comportamiento, hasta esta publicación.

  • Según la documentación, la propiedad "principal" contiene el punto de entrada de su aplicación cuando se usa como módulo en otros proyectos:https://docs.npmjs.com/cli/v7/configuring-npm/package-json#main

Solución

  • Utilice la propiedad "config" en su lugar:
 { "name": "app", "version": "1.0.0", "description": "", "devDependencies": {}, "config": { "main": "index.js" }, "scripts": { "start": "node $npm_package_config_main", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
  • Ejecute "inicio npm"
  • Funciona

Referencias:

  • https://github.com/npm/cli/issues/2585
  • https://github.com/npm/cli/pull/2446
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!