Sinópsis
npm link (en el dir de paquetes)npm link <pkg>alias: npm ln
Descripción
La vinculación de paquetes es un proceso de dos pasos.
Primero, npm link
en una carpeta de paquetes creará un symlink en la carpeta global{prefix}/lib/node_modules/<package>
que enlaza con el paquete donde se ejecutó el comando npmlink
. También enlazará cualquier paquete a {prefix}/bin/{name}
.Tenga en cuenta que npm link
utiliza el prefijo global (vea npm prefix -g
para su valor).
A continuación, en alguna otra ubicación, npm link package-name
creará un enlace asimbólico de package-name
instalado globalmente a node_modules/
de la carpeta actual.
Nótese que package-name
se toma de package.json
, no del nombre del directorio.
El nombre del paquete puede ser opcionalmente prefijado con un ámbito. Ver scope
.El ámbito debe ir precedido por un símbolo @ y seguido de una barra.
Cuando se crean los tarballs para npm publish
, los paquetes enlazados son «instantáneos» a su estado actual mediante la resolución de los enlaces simbólicos.
Esto es útil para instalar su propio material, de modo que usted puede trabajar en él y probarlo de forma repetitiva sin tener que reconstruir continuamente.
Por ejemplo:
cd ~/projects/node-redis # ir al directorio del paquetenpm link # crea el enlace globalcd ~/projects/node-bloggy # ir a algún otro directorio del paquete.npm link redis # link-instala el paquete
Ahora, cualquier cambio en ~/projects/node-redis se reflejará en~/projects/node-bloggy/node_modules/node-redis/. Tenga en cuenta que el enlace debe ser el nombre del paquete, no el nombre del directorio para ese paquete.
También puede acortar los dos pasos en uno. Por ejemplo, para hacer el caso de uso anterior de una manera más corta:
cd ~/projects/node-bloggy # entrar en el dir de su proyecto principalnpm link ../node-redis # enlazar el dir de su dependencia
La segunda línea es el equivalente de hacer:
(cd ../node-redis; npm link)npm link redis
Es decir, primero crea un enlace global, y luego enlaza el objetivo de la instalación global en la carpeta node_modules
de tu proyecto.
Nótese que en este caso, se está refiriendo al nombre del directorio, node-redis
,en lugar del nombre del paquete redis
.
Si su paquete enlazado tiene un ámbito (ver scope
) su comando de enlace debe incluir ese ámbito, por ejemplo
npm link @myorg/privatepackage
Ver también
- npm developers
- package.json
- npm install
- npm folders
- npm config
- npmrc