Creé una nueva aplicación de nodo basada en cli y la publiqué en npm.
Cuando ejecuto el paquete localmente con:
npm run build que simplemente ejecuta rm -rf lib && tsc -b
y entonces
npm link npx my-package argumentsesta funcionando bien
Pero cuando ejecuto directamente desde npm (no localmente y después de eliminar el local)
npx my-package argumentsMe da error de importación.
internal/process/esm_loader.js:74 internalBinding('errors').triggerUncaughtException( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/usr/local/lib/node_modules/my-package/lib/src/cli/lex.js' imported from /usr/local/lib/node_modules/my-package/lib/src/index.jsnota seguro por qué?
Código problemático
#!/usr/bin/env node import { command } from './cli/lex.js'; command.parse(process.argv);Estructura de carpetas
lib - src - - index.js - - cli - - - lex.js Salida de ls -l /usr/local/lib/node_modules/my-package/lib/src/cli
-rw-r--r-- 1 root wheel 1893 Oct 26 1985 cli.js.map -rw-r--r-- 1 root wheel 402 Oct 26 1985 lex.js.map -rw-r--r-- 1 root wheel 2000 Oct 26 1985 parse.js.mapHay archivos de mapa pero no el js real
Aquí está el archivo en el proyecto (github) si es necesario.
Después de horas de depurar y empujar versiones de ruta inútiles si descubrí que se debió a esto en mi .gitignore
*.jsDebido a esto, los archivos js generados no se enviaron a npm y, por lo tanto, se produjo el error.