et værktøj til styring af JavaScript-projekter med flere pakker.

  • Om
  • Kom Godt I Gang
  • Sådan Fungerer Det
  • Fejlfinding
  • Kommandoer
  • Misc
  • Lerna.json
  • flag

om

opdeling af store kodebaser i separate uafhængigt versionerede pakker er yderst nyttigt til kodedeling. Imidlertid, at foretage ændringer på tværs af mange arkiver er rodet og vanskeligt at spore, og test på tværs af arkiver bliver kompliceret virkelig hurtigt.

for at løse disse (og mange andre) problemer, vil nogle projekter organisere deres kodebaser i multi-pakke repositories (undertiden kaldet monorepos). Projekter som Babel, React, Angular, Ember, Meteor, Jest og mange andre udvikler alle deres pakker inden for et enkelt lager.

Lerna er et værktøj, der optimerer arbejdsgangen omkring styring af multi-pakke repositories med git og npm.

Lerna kan også reducere tid og rum krav til talrige kopier af pakker i udvikling og bygge miljøer – normalt en ulempe ved at opdele et projekt i mange separate NPM pakke. Se hejsedokumentationen for detaljer.

hvordan ser en Lerna repo ud?

der er faktisk meget lidt til det. Du har et filsystem, der ser sådan ud:

my-lerna-repo/ package.json packages/ package-1/ package.json package-2/ package.json

Hvad kan Lerna gøre?

de to primære kommandoer i Lerna er lerna bootstrapog lerna publish.

bootstrap vil forbinde afhængigheder i repo sammen. publish hjælper med at offentliggøre opdaterede pakker.

Kom godt i gang

instruktionerne nedenfor er til Lerna 2.vi anbefaler at bruge det i stedet for 1.til et nyt Lerna-projekt. Se efter, hvis du har brug for at se 1.readme.

lad os starte med at installere Lerna globalt med npm.

$ npm install --global lerna

næste opretter vi et nyt git-arkiv:

$ git init lerna-repo$ cd lerna-repo

og lad os nu gøre det til en Lerna repo:

$ lerna init

dit lager skal nu se sådan ud:

lerna-repo/ packages/ package.json lerna.json

dette vil skabe en lerna.json konfigurationsfil samt en packages mappe.

Sådan fungerer det

Lerna giver dig mulighed for at styre dit projekt ved hjælp af en af to tilstande: fast eller uafhængig.

fast/låst tilstand (standard)

fast tilstand Lerna-projekter fungerer på en enkelt versionslinje. Versionen opbevares i filen lerna.json ved roden af dit projekt under tasten version. Når du kører lerna publish, hvis et modul er blevet opdateret siden sidste gang en udgivelse blev lavet, vil det blive opdateret til den nye version, du frigiver. Det betyder, at du kun udgiver en ny version af en pakke, når du har brug for det.

dette er den tilstand, som Babel i øjeblikket bruger. Brug dette, hvis du automatisk vil binde alle pakkeversioner sammen. Et problem med denne tilgang er, at en større ændring i enhver pakke vil resultere i, at alle pakker har en ny større version.

uafhængig tilstand (–uafhængig)

uafhængig tilstand Lerna projects giver vedligeholdere mulighed for at øge pakkeversioner uafhængigt af hinanden. Hver gang du udgiver, får du en prompt for hver pakke, der er ændret for at angive, om det er en patch, mindre, større eller brugerdefineret ændring.

uafhængig tilstand giver dig mulighed for mere specifikt at opdatere versioner for hver pakke og giver mening for en gruppe af komponenter. At kombinere denne tilstand med noget som semantisk frigivelse ville gøre det mindre smertefuldt. (Der er arbejde på dette allerede på atlassian / lerna-semantisk-release).

version – tasten i lerna.json ignoreres i uafhængig tilstand.

fejlfinding

hvis du støder på problemer, mens du bruger Lerna, bedes du tjekke vores Fejlfindingsdokument, hvor du muligvis finder svaret på dit problem.

ofte stillede spørgsmål

se FAQ.md.

kommandoer

init

$ lerna init

Opret en ny Lerna repo eller opgrader en eksisterende repo til den aktuelle version af Lerna.

Lerna antager, at repo allerede er initialiseret med git init.

når den køres, vil denne kommando:

  1. Tilføj lerna som en devDependency i package.json hvis den ikke allerede findes.
  2. Opret en lerna.json konfigurationsfil for at gemme version nummeret.

eksempel output på en ny git repo:

$ lerna initlerna info version v2.0.0lerna info Updating package.jsonlerna info Creating lerna.jsonlerna success Initialized Lerna files

–uafhængig, – i

$ lerna init --independent

dette flag fortæller Lerna at bruge uafhængig versionsfunktion.

–eksakt

$ lerna init --exact

som standard bruger lerna init et caret-interval, når du tilføjer eller opdaterer den lokale version af lerna, ligesom npm install --save-dev lerna.

for at bevare lerna 1.”eksakt” sammenligning, passere dette flag. Det konfigurerer lerna.json for at håndhæve nøjagtigt match for alle efterfølgende henrettelser.

{ "lerna": "2.0.0", "command": { "init": { "exact": true } }, "version": "0.0.0"}

bootstrap

$ lerna bootstrap

Bootstrap pakkerne i den nuværende Lerna repo. Installerer alle deres afhængigheder og forbinder eventuelle Cross-afhængigheder.

når den køres, vil denne kommando:

  1. npm install alle eksterne afhængigheder af hver pakke.
  2. Symlink sammen alle Lerna packages der er afhængigheder af hinanden.
  3. npm prepublish alle bootstrapped pakker.

lerna bootstrap respekterer --ignore, --scope og --include-filtered-dependencies flagene (se flag).

send ekstra argumenter til npm-klient ved at placere dem efter --:

$ lerna bootstrap -- --production --no-optional

kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn", "npmClientArgs": }

hvordan bootstrap virker

lad os bruge babel som et eksempel.

  • babel-generator og source-map (blandt andre) er afhængigheder af babel-core.
  • babel-core‘s package.json viser begge disse pakker som nøgler i dependencies, som vist nedenfor.
// babel-core package.json{ "name": "babel-core", ... "dependencies": { ... "babel-generator": "^6.9.0", ... "source-map": "^0.5.0" }}
  • Lerna kontrollerer, om hver afhængighed også er en del af Lerna repo.
    • i dette eksempel kan babel-generator være en intern afhængighed, mens source-map altid er en ekstern afhængighed.
    • versionen af babel-generator i package.json af babel-core er tilfreds med packages/babel-generator, der passerer for en intern afhængighed.
    • source-maper npm installed (eller yarn ed) som normalt.
  • packages/babel-core/node_modules/babel-generator symlinks til packages/babel-generator
  • dette tillader indlejrede mappe import

noter:

  • når en afhængighedsversion i en pakke ikke opfyldes af en pakke med samme navn i repoen, vil den være npm installed (eller yarned) som normalt.
  • Dist-tags, som latest, opfylder ikke semver-intervaller.
  • cirkulære afhængigheder resulterer i cirkulære symlinks, som kan påvirke din editor/IDE.

Storm låser op, når cirkulære symlinks er til stede. For at forhindre dette skal du tilføje node_modules til listen over ignorerede filer og mapper i Preferences | Editor | File Types | Ignored files and folders.

Udgiv

$ lerna publish

Udgiv pakker i det aktuelle Lerna-projekt. Når du kører, gør denne kommando følgende:

opretter en ny udgivelse af de pakker, der er blevet opdateret. Beder om en ny version. Opretter en ny git commit / tag i processen med at udgive til npm.

mere specifikt vil denne kommando:

  1. Kør ækvivalenten lerna updated for at bestemme, hvilke pakker der skal offentliggøres.
  2. Forøg om nødvendigt version – tasten i lerna.json.
  3. Opdater package.json af alle opdaterede pakker til deres nye versioner.
  4. Opdater alle afhængigheder af de opdaterede pakker med de nye versioner, angivet med en caret (^).
  5. Opret en ny Git commit og tag for den nye version.
  6. Udgiv opdaterede pakker til npm.

Lerna offentliggør ikke pakker, der er markeret som private ("private": true i package.json).

–præcis

$ lerna publish --exact

når du kører med dette flag, vil publishangive opdaterede afhængigheder i opdaterede pakker nøjagtigt (uden tegnsætning) i stedet for som semver kompatibel (med en ^).

For mere information, se pakken.JSON afhængigheder dokumentation.

–npm-tag

$ lerna publish --npm-tag=next

når den køres med dette flag, publishpubliceres til npm med det givne npm dist-tag (som standard latest).

denne indstilling kan bruges til at udgive en prerelease eller beta version.

Bemærk: tagget latest er det, der bruges, når en bruger kører npm install my-package. For at installere et andet tag kan en bruger køre npm install [email protected].

–canary, – C

$ lerna publish --canary$ lerna publish --canary=beta

når den køres med dette flag, publish udgiver pakker på en mere detaljeret måde (pr. Før den udgives til npm, opretter den det nye version tag ved at tage den aktuelle version, bumpe den til den næste mindre version, tilføje det medfølgende meta-suffiks (som standard alpha) og tilføje den aktuelle git sha (eks: 1.0.0 bliver 1.1.0-alpha.81e3b443).

den tilsigtede brugssag for dette flag er en frigivelse pr.

–konventionel-forpligter

$ lerna publish --conventional-commits

når den køres med dette flag, publish bruger den konventionelle Forpligtelsesspecifikation til at bestemme versionsstødet og generere CHANGELOG

–git-remote

$ lerna publish --git-remote upstream

når den køres med dette flag, publishskubber git-ændringerne til den angivne fjernbetjening i stedet for origin.

–skip-git

$ lerna publish --skip-git

når du kører med dette flag, publish publiceres til npm uden at køre nogen af git-kommandoerne.

offentliggør kun til npm; spring over at begå, tagge og skubbe git-ændringer (dette påvirker kun publish).

–skip-npm

$ lerna publish --skip-npm

når den køres med dette flag, publish opdaterer alle package.json pakkeversioner og afhængighedsversioner, men det offentliggør faktisk ikke pakkerne til npm.

dette var nyttigt som en løsning på et npm-problem, som siden er blevet rettet. Når du udgiver med readme-ændringer, skal du bruge --skip-npm og gøre det endelige npm publish for hånd for hver pakke.

dette flag kan kombineres med --skip-git for blot at opdatere versioner og afhængigheder uden at begå, tagge, skubbe eller offentliggøre.

Opdater kun versioner og afhængigheder; offentliggør faktisk ikke (dette påvirker kun publish).

–force-publish

$ lerna publish --force-publish=package-2,package-4# force publish all packages$ lerna publish --force-publish=*

når den køres med dette flag, vil publishtvinge publicere de angivne pakker (kommasepareret) eller alle pakker ved hjælp af *.

dette vil springe lerna updated check for ændrede pakker over og tvinger en pakke, der ikke havde en git diff ændring, der skal opdateres.

–Ja

$ lerna publish --canary --yes# skips `Are you sure you want to publish the above changes?`

når du kører med dette flag, vil publish springe alle bekræftelsesanmodninger over. Nyttig i kontinuerlig integration (CI) til automatisk at besvare bekræftelsesprompten for offentliggørelse.

–cd-version

når den køres med dette flag, vil publish springe versionsvalgsprompten over (i uafhængig tilstand) og bruge den næste specificerede semantiske version. Du skal stadig bruge --yes – flaget for at undgå alle meddelelser. Dette er nyttigt, når build-systemer skal offentliggøre uden kommandoprompter. Fungerer i både normale og uafhængige tilstande.

–pre-id

–repo-version

$ lerna publish --repo-version 1.0.1# applies version and skips `Select a new version for...` prompt

når køre med dette flag, publish vil springe versionen udvælgelse prompt og bruge den angivne version. Nyttigt til at omgå brugerinputprompten, hvis du allerede ved, hvilken version du skal offentliggøre.

–message, -m

når køre med dette flag, publish vil bruge den medfølgende besked, når begå versionen opdateringer til offentliggørelse. Nyttigt til at integrere lerna i projekter, der forventer, at commit-meddelelser overholder visse retningslinjer, såsom projekter, der bruger borger og/eller semantisk frigivelse.

hvis meddelelsen indeholder %s, erstattes den med det nye globale versionsversionsnummer forud for et “v”. Bemærk, at dette kun gælder, når du bruger standard “fast” versionstilstand, da der ikke er nogen “global” version, når du bruger --independent.

opdateret

$ lerna updated

Kontroller, hvilke packages der er ændret siden den sidste udgivelse (det sidste git-tag).

Lerna bestemmer det sidste Git-tag, der er oprettet, og kører git diff --name-only v6.8.1 for at få alle filer ændret siden det tag. Det returnerer derefter en række pakker, der har en opdateret fil.

Bemærk, at konfigurationen for kommandoen publish også påvirker kommandoen updated. For eksempel config.publish.ignore

–json

$ lerna updated --json

når du kører med dette flag, updated returnerer en række objekter i følgende format:

rens

$ lerna clean

Fjern mappen node_modules fra alle pakker.

lerna clean respekterer flagene --ignore, --scope og --yes (se flag).

diff

$ lerna diff $ lerna diff# diff a specific package$ lerna diff package-name

Diff alle pakker eller en enkelt pakke siden sidste udgivelse.

svarende til lerna updated. Denne kommando kører git diff.

ls

$ lerna ls

liste alle de offentlige pakker i den aktuelle Lerna repo.

lerna ls respekterer flagene --ignore og --scope (se flag).

–json

$ lerna ls --json

når du kører med dette flag, ls returnerer en række objekter i følgende format:

Kør

Kør et npm-script i hver pakke, der indeholder scriptet. En dobbelt bindestreg (--) er nødvendig for at videregive stiplede argumenter til scriptudførelsen.

lerna run respekterer --concurrency, --scope, --ignore, --stream, og --parallel flag (se flag).

$ lerna run --scope my-component test

Bemærk: Det tilrådes at begrænse omfanget af denne kommando (og lerna exec, nedenfor), når du bruger --parallel – flaget, da gydning af snesevis af underprocesser kan være skadeligt for din Skals ligevægt (eller for eksempel maksimal filbeskrivelsesgrænse). YMMV

udfør

$ lerna exec -- <command> # runs the command in all packages$ lerna exec -- rm -rf ./node_modules$ lerna exec -- protractor conf.js

Kør en vilkårlig kommando i hver pakke. En dobbelt-dash (--) er nødvendig for at passere stiplede flag til den skabte kommando, men er ikke nødvendig, når alle argumenterne er positionelle.

lerna exec respekterer --concurrency, --scope, --ignore, og --parallel flag (se flag).

$ lerna exec --scope my-component -- ls -la

for at gyde langvarige processer skal du passere --parallel flag:

# transpile all modules as they change in every package$ lerna exec --parallel -- babel src -d lib -w

du kan også få navnet på den aktuelle pakke gennem miljøvariablen LERNA_PACKAGE_NAME:

$ lerna exec -- npm view $LERNA_PACKAGE_NAME

du kan også køre et script placeret i root dir, i en kompliceret dir struktur gennem miljøvariablen LERNA_ROOT_PATH:

$ lerna exec -- node $LERNA_ROOT_PATH/scripts/some-script.js

tip: kommandoerne gydes parallelt ved hjælp af den givne samtidighed (undtagen med --parallel). Udgangen ledes igennem, så ikke deterministisk. Hvis du vil køre kommandoen i den ene pakke efter den anden, skal du bruge den sådan:

$ lerna exec --concurrency 1 -- ls -la

–bail

$ lerna exec --bail=<boolean> <command>

dette flag betyder, om kommandoen exec skal standse udførelsen, når der opstår en fejl, der kastes af en af de opfostrede underprocesser. Dens standardværdi er true.

Importer

$ lerna import <path-to-external-repository>

Importer pakken på <path-to-external-repository>, med commit historie, til packages/<directory-name>. Oprindelige begå forfattere, datoer og meddelelser bevares. Forpligtelser anvendes på den nuværende filial.

dette er nyttigt til at samle allerede eksisterende enkeltstående pakker i en Lerna repo. Hver forpligtelse ændres for at foretage ændringer i forhold til pakkekataloget. Så for eksempel vil den forpligtelse, der tilføjede package.json, i stedet tilføje packages/<directory-name>/package.json.

Misc

Lerna logger på en lerna-debug.log fil (samme som npm-debug.log), når den støder på en fejl, der kører en kommando.

Lerna har også støtte til scoped pakker.

kører lerna uden argumenter viser alle kommandoer/indstillinger.

lerna.json

{ "lerna": "2.0.0", "version": "1.1.3", "commands": { "publish": { "ignore": }, "bootstrap": { "ignore": "component-*" } }, "packages": }
  • lerna: den aktuelle version af Lerna bliver brugt.
  • version: den aktuelle version af lageret.
  • commands.publish.ignore: en række globs, der ikke vil blive inkluderet i lerna updated/publish. Brug dette til at forhindre publicering af en ny version unødigt for ændringer, såsom fastsættelse af en README.md skrivefejl.
  • commands.bootstrap.ignore: en række globs, der ikke vil blive bootstrapped, når du kører kommandoen lerna bootstrap.
  • commands.bootstrap.scope: en række globs, der begrænser, hvilke pakker der vil blive bootstrapped, når du kører kommandoen lerna bootstrap.
  • packages: vifte af globs til brug som pakke steder.

fælles devDependencies

mest devDependencies kan trækkes op til roden af en Lerna repo.

dette har et par fordele:

  • alle pakker bruger den samme version af en given afhængighed
  • kan holde afhængigheder ved roden opdateret med et automatiseret værktøj som GreenKeeper
  • Afhængighedsinstallationstiden reduceres
  • mindre lagerplads er nødvendig

Bemærk, at devDependencies tilvejebringelse af “binære” eksekverbare filer, der er bruges af NPM-scripts skal stadig installeres direkte i hver pakke, hvor de bruges.

for eksempel er afhængigheden nsp nødvendig i dette tilfælde for lerna run nsp (og npm run nsp i pakkens mappe) for at fungere korrekt:

{ "scripts": { "nsp": "nsp" }, "devDependencies": { "nsp": "^2.3.3" }}

flag

indstillinger til Lerna kan komme fra konfiguration (lerna.json) eller på kommandolinjen. Derudover muligheder i config kan leve på det øverste niveau eller kan anvendes til bestemte kommandoer.

eksempel:

{ "lerna": "x.x.x", "version": "1.2.0", "exampleOption": "foo", "command": { "init": { "exampleOption": "bar", } },}

i dette tilfælde exampleOption vil være ” foo “for alle kommandoer undtagen init, hvor det vil være”bar”. I alle tilfælde kan det tilsidesættes til” base ” på kommandolinjen med --example-option=baz.

–samtidighed

hvor mange tråde der skal bruges, når Lerna paralleliserer opgaverne (standard til 4)

$ lerna publish --concurrency 1

–scope

Scopes en kommando til en delmængde af pakker.

$ lerna exec --scope my-component -- ls -la
$ lerna run --scope toolbar-* test

–siden

når du udfører et script eller en kommando, skal du omfatte handlingen til pakker, der er blevet opdateret siden den angivne ref. Hvis ref ikke er angivet, er det som standard det nyeste tag.

liste indholdet af pakker, der er ændret siden den seneste tag:

$ lerna exec --since -- ls -la

Kør testene for alle pakker, der er ændret siden master:

$ lerna run test --since master

liste over alle pakker, der er ændret siden some-branch:

$ lerna ls --since some-branch

dette kan være særligt nyttigt, når det bruges i CI, hvis du kan få den målgren, en PR vil gå ind i, fordi du kan bruge det som ref til --since mulighed. Dette fungerer godt for PR ‘ er, der går ind i master såvel som funktionsgrene.

–Ignorer

ekskluderer en delmængde af pakker, når du kører en kommando.

$ lerna bootstrap --ignore component-*

ignore – flaget, når det bruges med kommandoen bootstrap, kan også indstilles i lerna.json under commands.bootstrap – tasten. Kommandolinjeflagget vil tage præcendence over denne mulighed.

eksempel

{ "lerna": "2.0.0", "version": "0.0.0", "commands": { "bootstrap": { "ignore": "component-*" } }}

tip: glob matches med pakkenavnet defineret i package.json, ikke det mappenavn, pakken lever i.

–Inkluder-filtrerede-afhængigheder

Bemærk: Dette vil tilsidesætte flagene --scope og --ignore.

dvs.en pakke, der matches af --ignore – flaget, vil stadig blive bootstrapped, hvis den er afhængig af en anden pakke, der bliver bootstrapped.

dette er nyttigt i situationer, hvor du vil “konfigurere” en enkelt pakke, der er afhængig af, at andre pakker konfigureres.

$ lerna bootstrap --scope my-component --include-filtered-dependencies# my-component and all of its dependencies will be bootstrapped

–loglevel

hvilket niveau af logfiler at rapportere. Ved fejl er alle logfiler skrevet til lerna-debug.log ind i den aktuelle arbejdsmappe.

alle logfiler på et højere niveau end indstillingen vises. Standard er “info”.

–maks-buffer

Indstil en maks.bufferlængde for hvert underliggende procesopkald. Nyttigt, for eksempel når nogen vil importere en repo med en større mængde forpligtelser, mens de kører lerna import. I så fald er den indbyggede bufferlængde muligvis ikke tilstrækkelig.

–ingen sortering

som standard udføres alle opgaver på pakker i topologisk sorteret rækkefølge for at respektere afhængighedsforholdene for de pågældende pakker. Cyklusser brydes på en bedst mulig måde på en måde, der ikke garanteres at være konsistente på tværs af Lerna-påkaldelser.

topologisk sortering kan forårsage flaskehalse i samtidighed, hvis der er et lille antal pakker med mange afhængige, eller hvis nogle pakker tager uforholdsmæssigt lang tid at udføre. Indstillingen --no-sort deaktiverer sortering og udfører i stedet opgaver i vilkårlig rækkefølge med maksimal samtidighed.

denne indstilling kan også hjælpe, hvis du kører flere “se” kommandoer. Da lerna run vil udføre kommandoer i topologisk sorteret rækkefølge, kan det ende med at vente på en kommando, før du går videre. Dette vil blokere udførelsen, når du kører “se” kommandoer, da de typisk aldrig slutter. Et eksempel på en “ur” kommando kører babel med --watch CLI flag.

–hoist

installer eksterne afhængigheder, der matcher glob ved repo-roden, så de er tilgængelige for alle pakker. Eventuelle binære filer fra disse afhængigheder vil blive knyttet til dependent package node_modules/.bin/ mapper, så de er tilgængelige for npm-scripts. Hvis indstillingen er til stede, men ingen glob er givet, er standard ** (hejs alt). Denne indstilling påvirker kun kommandoen bootstrap.

$ lerna bootstrap --hoist

for baggrund på --hoist, se hejsedokumentationen.

Bemærk: Hvis pakker afhænger af forskellige versioner af en ekstern afhængighed, vil den mest anvendte version blive hejst, og en advarsel vil blive udsendt.

–nohoist

installer ikke eksterne afhængigheder, der matcher glob ved repo-roden. Dette kan bruges til at fravælge hejsning for visse afhængigheder.

$ lerna bootstrap --hoist --nohoist=babel-*

–npm-klient

installer eksterne afhængigheder ved hjælp af install. Skal være en eksekverbar, der ved, hvordan man installerer npm-afhængigheder.

$ lerna bootstrap --npm-client=yarn

kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn"}

–brug-arbejdsområder

muliggør integration med Garnarbejdsområder (tilgængelig siden [email protected]+).
værdierne i arrayet er de kommandoer, hvor Lerna vil delegere operation til garn (i øjeblikket kun bootstrapping).
hvis --use-workspaces er sandt, vil packages blive tilsidesat af værdien fra package.json/workspaces.
kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn", "useWorkspaces": true}

–stream

Stream output fra underordnede processer med det samme, forud for det oprindelige Pakkenavn. Dette gør det muligt at Interleaved output fra forskellige pakker.

$ lerna run watch --stream

–parallel

svarende til --stream, men fuldstændig ignorerer samtidighed og topologisk sortering, kører en given kommando eller script straks i alle matchende pakker med præfikset streaming output. Dette er det foretrukne flag for langvarige processer som babel src -d lib -w Kør over mange pakker.

$ lerna exec --parallel -- babel src -d lib -w

–registry

når du kører med dette flag, vil videresendte npm-kommandoer bruge det angivne register til din pakke(er).

dette er nyttigt, hvis du ikke eksplicit vil konfigurere din registreringsdatabasekonfiguration i hele din pakke.json filer individuelt, når f.eks. ved hjælp af private registre.

–temp-tag

når det er bestået, ændrer dette flag standardudgivelsesprocessen ved først at offentliggøre alle ændrede pakker til et midlertidigt dist-tag (lerna-temp) og derefter flytte den eller de nye versioner til standard dist-tag (latest).

dette er generelt ikke nødvendigt, da Lerna vil offentliggøre pakker i topologisk rækkefølge (alle afhængigheder før afhængige) som standard.

guiden

hvis du foretrækker vejledning til cli (hvis du er ved at begynde at bruge lerna eller introducere det til et nyt hold), kan du måske lide Lerna-guiden. Det vil føre dig gennem en række veldefinerede trin:

aktuelle Tags

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.