Tengo un proyecto1 que ya depende de styled-components@4.4.1
Cuando intento instalar el proyecto 2 como una biblioteca en el proyecto 1 usando npm install /my/project2/build , mi paquete-lock.json cambia como se muestra a continuación:
+ "projec2": { + "version": "file:/my/project2/build", + "requires": { + "styled-components": "4.4.1" + }, + "dependencies": {1 + "@babel/code-frame": { + "version": "7.16.7", ... + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/generator": { + "version": "7.17.7", ... + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", ... + "requires": { + "@babel/types": "^7.16.7" + } Pero si publico la misma lib de project2 y la instalo usando npm install project2@0.0.1 , el paquete-json.lock en project1 no muestra los mismos requisitos:
+ "project2": { + "version": "0.0.1", ... + "requires": { + "styled-components": "4.4.1" + } + },Me gustaría hacer que la instalación de la carpeta local sea igual a la instalación de lib, sin esas dependencias de terceros.
Actualizar:
Todavía tengo el problema de instalar con npm install <folder> pero usar npm pack combinado con npm install <tarballfile> funciona como instalar la biblioteca remota. simplemente no se porque...
Para simular la instalación remota de lib localmente, me gusta usar yalc . No necesariamente necesita instalarlo, puede ejecutarlo con "npx yalc Publish", por ejemplo.
Lo que hace "npx yalc publishing" es que, en lugar de publicar la compilación en npm, la publicará en una carpeta local. Luego, cuando "npx yalc add project2@0.0.1", actuará como si la biblioteca se hubiera descargado de npm.
Debería comportarse igual que publicar en unkpg y luego instalarlo.