Sinopse
>npm link (na embalagem dir)npm link <pkg>alias: npm ln
Descrição
Ligação de pacotes é um processo de dois passos.
Primeiro, npm link
numa pasta de pacotes irá criar um link simbólico na pasta global{prefix}/lib/node_modules/<package>
que liga ao pacote onde o comando npmlink
foi executado. Ele também ligará qualquer caixa do pacote para {prefix}/bin/{name}
.Note que npm link
usa o prefixo global (veja npm prefix -g
para seu valor).
Next, em alguma outra localização, npm link package-name
criará um link assimbólico de global-instalado package-name
para node_modules/
da pasta atual.
Nota que package-name
é retirado de package.json
,não do nome do diretório.
O nome do pacote pode ser opcionalmente prefixado com um escopo. Veja scope
.O escopo deve ser precedido por um @-symbol e seguido por uma barra.
Ao criar tarballs para npm publish
, os pacotes ligados são “snapshotados” para o seu estado atual resolvendo os links simbólicos.
Isto é útil para instalar seu próprio material, para que você possa trabalhar nele e testá-lo iterativamente sem ter que reconstruir continuamente.
Por exemplo:
cd ~/projects/node-redis # vai para o diretório de pacotesnpm link # cria link globalcd ~/projects/node-bloggy # vai para algum outro diretório de pacotes.npm link redis # link-install the package
Agora, quaisquer alterações a ~/projects/node-redis serão reflectidas em~/projects/node-bloggy/node_modules/node-redis/. Note que o link deve ser o nome do pacote, não o nome do diretório para esse pacote.
Você também pode atalho os dois passos em um. Por exemplo, para fazer a caixa de uso de forma mais curta:
cd ~/projectos/node-bloggy # vá para o dir do seu projecto principalnpm link ../node-redis # ligue o dir da sua dependência
A segunda linha é o equivalente a fazer:
(cd ../node-redis; npm link)npm link redis
Isto é, primeiro cria um link global, e depois liga o alvo de instalação global à pasta node_modules
do seu projecto.
Note que neste caso, você está se referindo ao nome do diretório, node-redis
, ao invés do nome do pacote redis
.
Se o seu pacote vinculado for escopo (veja scope
) o seu comando de link deve incluir esse escopo, por exemplo
npm link @myorg/privatepackage
Veja Também
- desenvolvedoresnpm
- package.json
- npm install
- pastasnpm
- npm config
- npm config
- npmrc