Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 9038|Atbildi: 0

Kādas ir npm instalēšanas ģenerētās package-lock.json?

[Kopēt saiti]
Publicēts 13.12.2017 13:17:45 | | |
npm modifikācijai node_modules kokam vai jebkurai darbībai package.json automātiski tiks ģenerēta package-lock.json. Tajā aprakstīts precīzs koks, kas tiek ģenerēts, lai nākamās instalācijas varētu ģenerēt to pašu koku neatkarīgi no starpposma atkarības atjauninājumiem.

Šo failu ir paredzēts iesniegt pirmkoda repozitorijā, un tas ir pieejams dažādiem mērķiem:

Apraksta vienu atkarības koka attēlojumu, lai garantētu, ka komandas biedri, izvietojumi un nepārtraukta integrācija nodrošina tieši to pašu atkarību instalēšanu.

Nodrošiniet lietotājiem rīku, lai "pāriet" uz iepriekšējo node_modules stāvokli, neveicot pašu direktoriju.

Veiciniet labāku koku izmaiņu redzamību, izmantojot lasāmas avota vadības atšķirības.

Un optimizējiet instalēšanas procesu, ļaujot npm izlaist iepriekš instalēto pakotņu metadatu dublikātu izšķirtspēju.

Galvenā detaļa par package-lock.json ir tā, ka to nevar izlaist un tiks ignorēts, ja tas tiks atrasts kaut kur ārpus augstākā līmeņa paketes. Tas dalās formātā ar npm-shrinkwrap.json, tas būtībā ir tas pats fails, bet ļauj publicēt. Tas nav ieteicams, ja vien neizvietojat CLI rīku vai citādi neizmantojat izlaišanas procesu, lai izveidotu ražošanas pakotni.

Ja pakotnes saknes direktorijā ir gan package-lock.json, gan npm-shrinkwrap.json, package-lock.json tiks pilnībā ignorēti.

Oriģinālā saite: https://docs.npmjs.com/files/package-lock.json


Kopš npm 5.x izlaišanas 5.6.0 bloķēšanas loma ir mainījusies daudzas reizes, un tagad daudzi mazi balti teksti internetā ir iestrēguši iepriekšējā dokumenta tulkojumā.

Es atjaunināju no npm3.x uz npm5, bet atklāju, ka parādība, izpildot "npm i", neatbilst populārzinātniskajam rakstam internetā.

Tiek minēts, ka neatkarīgi no tā, kā package.json fails tiek modificēts, ja npm i tiek atkārtoti izpildīts, npm tiks lejupielādēts saskaņā ar bloķēšanas failā aprakstīto versijas informāciju.

Tiek arī minēts, ka, atkārtojot npm i, npm ignorēs bloķēšanas informāciju un lejupielādēs atjaunināšanas moduli saskaņā ar pakotnes semantisko versiju informāciju package.json (bloķēšana šķiet bezjēdzīga).

** Saskaņā ar informāciju, npm i noteikumi ir mainījušies trīs reizes kopš npm 5.0 izlaišanas. **

1. npm 5.0.x versija, neatkarīgi no tā, kā mainās package.json, npm i tiks lejupielādēts saskaņā ar bloķēšanas failu

package-lock.json fails nav atjaunināts pēc package.json faila izmaiņām · Nr. #16866 · NPM/NPM https://github.com/npm/npm/issues/16866
Šis jautājums sūdzas par šo problēmu, acīmredzot es nomainīju package.json manuāli, kāpēc jūs man nedodat jaunināšanas paketi! Un tad tas noved pie jautājuma par 5.1.0 ...

2. Pēc versijas 5.1.0 npm instalēšana ignorēs bloķēšanas failu, lai lejupielādētu jaunāko npm

Tad kāds izvirzīja šo jautājumu, kāpēc tiek ignorēta paketes bloķēšana? · Nr. #17979 · NPM/NPM https://github.com/npm/npm/issues/17979
Sūdzība galu galā attīstījās noteikumos pēc versijas 5.4.2.

3. Kāpēc pēc versijas 5.4.2 tiek ignorēta pakotnes bloķēšana? · Nr. #17979 · NPM/NPM https://github.com/npm/npm/issues/17979


Aptuveni runājot, ja package.json tiek mainīts un package.json atšķiras no bloķēšanas faila, npm lejupielādēs jaunāko pakotni atbilstoši pakotnes versijas numuram un semantiskai nozīmei, izpildot "npm i", un atjauninās to uz bloķēšanu.

Ja abi ir vienā stāvoklī, tad izpildot npm i lejupielādēs saskaņā ar bloķēšanu, neatkarīgi no tā, vai faktiskā pakotnes versija ir jauna vai nē.






Iepriekšējo:Ziņojiet statistiku un papildiniet laika metodi bez datiem
Nākamo:npm apmācība (4): instalējiet npm pakotnes lokāli
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com