Spis treści

Synopsis

npm link (w dir pakietów)
npm link <pkg>
alias: npm ln

Opis

Łączenie pakietów jest procesem dwuetapowym.

Po pierwsze, npm link w folderze pakietu utworzy symlink w folderze globalnym{prefix}/lib/node_modules/<package>, który łączy się z pakietem, w którym wykonano polecenie npmlink. Połączy również wszelkie binarki w pakiecie z {prefix}/bin/{name}.Zauważ, że npm link używa prefiksu globalnego (zobacz npm prefix -g, aby poznać jego wartość).

Następnie, w jakiejś innej lokalizacji, npm link package-name utworzy asymboliczne łącze z globalnie zainstalowanego package-name do node_modules/ bieżącego folderu.

Zauważ, że package-name jest pobierane z package.json,a nie z nazwy katalogu.

Nazwa pakietu może być opcjonalnie poprzedzona zakresem. Zobacz scope.Zakres musi być poprzedzony symbolem @ i następującym po nim ukośnikiem.

Podczas tworzenia tarballi dla npm publish, połączone pakiety są „migawkowane” do ich aktualnego stanu przez rozwiązywanie dowiązań symbolicznych.

To jest przydatne do instalowania własnych rzeczy, aby można było nad nimi pracować i testować je bez konieczności ciągłego przebudowywania.

Na przykład:

cd ~/projects/node-redis # przejdź do katalogu z pakietami
npm link # tworzy globalny link
cd ~/projects/node-bloggy # przejdź do innego katalogu z pakietami.
npm link redis # link-install the package

Teraz, wszelkie zmiany w ~/projects/node-redis będą odzwierciedlone w~/projects/node-bloggy/node_modules/node-redis/. Zauważ, że odnośnik powinien być do nazwy pakietu, a nie do nazwy katalogu tego pakietu.

Możesz również skrócić te dwa kroki w jednym. Na przykład, aby wykonać powyższy przypadek użycia w krótszy sposób:

cd ~/projects/node-bloggy # przejdź do dir swojego głównego projektu
npm link ../node-redis # połącz dir swojej zależności

Druga linia jest odpowiednikiem robienia:

(cd ../node-redis; npm link)
npm link redis

To znaczy, że najpierw tworzy globalny link, a następnie łączy cel globalnej instalacji do folderu node_modules twojego projektu.

Zauważ, że w tym przypadku odnosisz się do nazwy katalogu, node-redis, a nie do nazwy pakietu redis.

Jeśli twój połączony pakiet ma zakres (zobacz scope), twoje polecenie link musi zawierać ten zakres, np.

npm link @myorg/privatepackage

Zobacz także

  • npm developers
  • package.json
  • npm install
  • npm folders
  • npm config
  • npmrc

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.