Tengo un proyecto Node, y puedo npm pack en un tarball e instalarlo en otro directorio para probarlo. Cuando hago eso, el conjunto de archivos en la cláusula "bin" de mi package.json se enlaza correctamente en el directorio node_modules/.bin allí. Por lo tanto, puedo usar npx something para ejecutar el script "algo" y funciona como cabría esperar.
Sin embargo, desde el directorio del proyecto real, npm install no hace eso. Los scripts están en mi directorio "bin" de nivel superior, por supuesto, pero npx no los encuentra. Obviamente, podría ejecutarlos directamente, pero sería bueno si pudiera ejecutar los mismos comandos de shell para ejecutarlos en otros directorios de instalación y en el directorio de inicio del proyecto.
No quiero instalar el paquete globalmente; Quiero mantener todo local, al menos por ahora. Entonces, ¿puedo hacer que npm haga esos enlaces simbólicos por mí, o debería morder la bala y hacerlo yo mismo?
Aquí está mi package.json :
{ "name": "@foo/plazadb", "version": "0.1.0", "description": "Basic database setup with upload/download from CSV", "main": "lib/plazadb.js", "author": "Pointy", "license": "ISC", "dependencies": { "arg": "^5.0.1", "cls-hooked": "^4.2.2", "csv-parser": "^3.0.0", "csv-stringify": "^6.0.5", "neat-csv": "^7.0.0", "pg": "^8.7.*", "sequelize": "^6.16.*" }, "bin": { "conntest": "./bin/conntest.js", "download": "./bin/download.js", "upload": "./bin/upload.js" } } Todos los archivos "bin" existen (por supuesto, de lo contrario nunca funcionarían). Lo que estoy intentando (por ignorancia) es una instalación simple de npm install desde el directorio del proyecto.
Una forma de hacerlo es por
npm config set prefix <path> o uno de estos métodos vinculados aquí .npm link Como advertencia, para deshacer npm link npm ejecute npm unlink . puede que no funcione En su lugar, es posible que deba ejecutar npm uninstall -g . .