We moeten de runner Karma Test integreren in TeamCity en daarvoor zou ik SYS-ingenieurs klein script willen geven (PowerShell of alles) die:
-
Pick-up gewenste versienummer van een configuratie-bestand (ik denk dat ik het als een opmerking kan plaatsen in de
karma.conf.js
) -
Controleer of de gedefinieerde versie van Karma Runner is geïnstalleerd in de Global Repo van NPM
-
Als het niet is of de geïnstalleerde versie ouder is dan gewenst: ophalen en de juiste versie
-
Voer het uit:
karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
installeren
Dus mijn echte vraag is: “Hoe kan één script inchecken, indien gewenst van het pakket geïnstalleerd?”. Mocht u de cheque doen, of het is veilig om gewoon te bellen npm -g install
Everytime?
Ik wil de nieuwste beschikbare versie niet altijd controleren en installeren, omdat andere configuratiewaarden incompatibel kunnen worden
1, Autoriteit 100%
Controleer of een module in een project ‘oud’ is:
npm outdated
‘verouderd ‘ controleert elke module gedefinieerd in package.json
en kijk of er een nieuwere versie is in het register van NPM.
Zeg bijvoorbeeld xml2js 0.2.6
(gevestigd in node_modules
in het huidige project) is verouderd omdat er een nieuwere versie bestaat (0.2.7). Je zou zien:
[email protected] node_modules/xml2js current=0.2.6
Naar update Alle afhankelijkheden, als u er zeker van bent, is dit wenselijk:
npm update
Of, om een enkele afhankelijkheid bij te werken, zoals xml2js
:
npm update xml2js
2, Autoriteit 53%
npm outdated
Identificeer pakketten die moeten worden bijgewerkt en npm update <package name>
kan worden gebruikt om elk pakket bij te werken. Maar voorafgaand aan [email protected], npm update <package name>
werkt de versies in uw pakket niet bij.json die een probleem is.
De beste workflow is om:
- identificeren van de datumpakketten
- Werk de versies bij in uw pakket.json
- Voer het
npm update
uit om de nieuwste versies van elk pakket
te installeren
Bekijk npm-check-updates
om te helpen met deze workflow.
- installeren npm-check-updates
- Voer onder de naam
npm-check-updates
om op te lijsten welke pakketten verouderd zijn (in principe hetzelfde als het uitvoeren vannpm outdated
) - Voer onder de naam
npm-check-updates -u
om alle versies in uw pakket bij te werken.json (dit is de magische saus) - Voer
npm update
zoals gewoonlijk in om de nieuwe versies van uw pakketten op basis van het bijgewerkte pakket te installeren.json
3, Autoriteit 22%
Er is ook een “Fresh” -module genaamd npm-check
:
NPM-controle
Controleer op verouderde, onjuiste en ongebruikte afhankelijkheden.
Het biedt ook een handige interactieve manier om de afhankelijkheden bij te werken met npm-check -u
.
4, Autoriteit 14%
Eén eenvoudige stap:
$ npm i -g npm-check-updates && ncu -u && npm i
Dat is alles. Alle pakketversies in package.json
zijn de nieuwste belangrijke versies.
EDIT:
Wat gebeurt hier?
Een pakket installeren dat updates voor u controleert.
Gebruik dit pakket om alle pakketversies bij te werken in uw
package.json
(-U is kort voor –UpDateall).Installeer alle nieuwe versies van de pakketten.
5, Autoriteit 10%
-
Om een enkel lokaal pakket bij te werken:
-
Zoek eerst uw verouderde pakketten:
npm outdated
-
Update vervolgens het pakket of pakketten dat u handmatig wilt als:
npm update --save package_name
-
Op deze manier is het niet nodig om uw lokale package.json
bij te werken
bestand.
Merk op dat dit uw pakket bijwerkt naar de nieuwste versie.
-
Als u een enkele versie in uw
package.json
-bestand en doet:npm update package_name
In dit geval krijg je de volgende stabiele versie (Wanted) met betrekking tot de versie die je hebt geschreven in je
package.json
-bestand.
en met npm list (package_name)
U kunt de huidige versie van uw lokale pakketten achterhalen.
6, Autoriteit 3%
Geen extra pakketten, om gewoon verouderd te controleren en die bijwerken die zijn, deze opdracht zal doen:
npm install $(npm outdated | cut -d' ' -f 1 | sed '1d' | xargs -I '$' echo '$@latest' | xargs echo)
7, Autoriteit 2%
Controleer verouderde pakketten
npm outdated
Controleer en kies pakketten om
bij te werken
npx npm-check -u
8
Vanaf [email protected] + U kunt eenvoudig doen:
npm update <package name>
Hiermee wordt automatischhet bestand package.json
bijgewerkt. We hoeven de nieuwste versie niet handmatig bij te werken en vervolgens npm update <package name>
te gebruiken
Je kunt nog steeds het oude gedrag krijgen met
npm update --no-save
Antwoord 9
Bij het installeren van npm-pakketten (zowel globaal als lokaal) kunt u een specifieke versie definiëren door de syntaxis @version
te gebruiken om een versie te definiëren die moet worden geïnstalleerd.
Met andere woorden, doen:
npm install -g [email protected]
zorgt ervoor dat alleen 0.9.2 wordt geïnstalleerd en wordt niet opnieuw geïnstalleerd als het al bestaat.
Als een woord van advies zou ik willen voorstellen om waar mogelijk wereldwijde npm-installaties te vermijden. Veel mensen realiseren zich niet dat als een afhankelijkheid een bin-bestand definieert, het wordt geïnstalleerd in ./node_modules/.bin/. Vaak is het heel gemakkelijk om die lokale versie van een geïnstalleerde module te gebruiken die is gedefinieerd in uw package.json. In feite zullen npm-scripts de ./node_modules/.bin aan uw pad toevoegen.
Als voorbeeld is hier een package.json die, wanneer ik npm install && npm test
zal de versie van karma installeren die is gedefinieerd in mijn package.json, en die versie van karma gebruiken (geïnstalleerd op node_modules/.bin/karma) bij het uitvoeren van het test
-script:
{
"name": "myApp",
"main": "app.js",
"scripts": {
"test": "karma test/*",
},
"dependencies": {...},
"devDependencies": {
"karma": "0.9.2"
}
}
Dit geeft u het voordeel dat uw package.json de versie van karma definieert die moet worden gebruikt en dat u die configuratie niet globaal op uw CI-box hoeft te bewaren.
Antwoord 10
Een andere benadering zou zijn om eerst het bestand package.json op te waarderen met,
ncu -u
npm install
om alle pakketten bij te werken naar de nieuwste versie.
ps: het zal alle pakketten bijwerken naar de nieuwste versie, maar als het pakket al up-to-date is, wordt dat pakket helemaal niet beïnvloed.
Antwoord 11
Als u slechts één pakket wilt bijwerken, installeert u NCU en voert u het vervolgens alleen voor dat pakket uit. Dit zal tegen de echte laatste aanlopen.
npm install -g npm-check-updates
ncu -f your-intended-package-name -u
Antwoord 12
3 eenvoudige stappen die u kunt gebruiken om alle verouderde pakketten bij te werken
Controleer eerst de pakketten die verouderd zijn
sudo npm i -g npm-check-updates
Ten tweede, zet ze allemaal klaar
ncu -u
De resultaten in Terminal zijn als volgt:
Ten derde, werk ze allemaal bij.
npm install
Dat is het.
Antwoord 13
Nog één voor bash:
npm outdated -parseable|cut -d: -f5|xargs -L1 npm i