Ik heb Node.js op mijn Windows 7 x64-ontwikkelmachine geïnstalleerd, op de handmatige manier:
mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"
Ik heb de belangrijkste node x64 binarysamen met npm-pakketbeheerderin C:\Devel\nodejs
. Werkt als een tierelier en ik kan het belangrijkste binaire bestand bijwerken zonder tussenkomst van het installatieprogramma.
Het enige probleem dat ik niet kan oplossen, is het verplaatsen van de cachemap. Als ik een lokaal pakket installeer:
npm install express
… cache is geplaatst in de map %APP_DATA%\npm-cache
. Ik wil het veranderen in:
C:\Devel\nodejs\npm-cache
Hoe kan ik de npm-cachemap wijzigen of volledig uitschakelen?
Antwoord 1, autoriteit 100%
U kunt de npm-cachemap wijzigen met behulp van de npm
-opdrachtregel. (zie https://docs.npmjs.com/cli/v6/using -npm/config#cache)
Dus misschien wil je dit commando proberen:
> npm config set cache C:\Devel\nodejs\npm-cache --global
Antwoord 2, autoriteit 24%
Je kunt ook een omgevingsvariabele instellen met export npm_config_cache=/path/to/cache
(Unix) of set npm_config_cache=C:\path\to\cache
( Win) als alternatief voor npm config set
(dit geldt voor alle configuratie-opties in npm).
Voor iedereen die docker gebruikt, kunt u de env var tijdens runtime toevoegen met:
docker run -e npm_config_cache=/path/to/cache mydockerimage:tag
Antwoord 3, autoriteit 5%
U kunt ook het volgende doen:
Om het cachepad naar wens te hebben, voor een enkel pakket tijdens het installeren:
npm install packageName --cache path/to/some/folder
Om het cachepad naar wens te hebben, voor alle pakketten in package.json:
Wees gewoon in de map waar package.json is zoals gewoonlijk en doe
npm install --cache path/to/some/folder
Misschien vindt u dit niet in de npm-documentatie, maar ik heb het geprobeerd met npm 6 en het werkt.
Het lijkt erop dat het werkt sinds npm 5 [Zie: Hoe om de cachemap in npm5 op te geven bij de installatieopdracht?
Antwoord 4, autoriteit 2%
In Windows kun je gewoon cd naar de gewenste cachemap en npm set cache --global
doen
Antwoord 5
Bovendien ontdekte ik dat het uitvoeren van een update-opdracht ook werkt – bijvoorbeeld:
npm update npm
Ten slotte kan men hun npm-cache-directory controleren om te zien of deze wordt gevuld of niet.
Antwoord 6
Oplossing
Plak de volgende code in het npmrc-bestand.
Locatie van npmrc-bestand: C:\Program Files\nodejs\node_modules\npm\npmrc
prefix=D:\nodejs\npm
cache=D:\nodejs\npm-cache
Opmerkingen:
Er is geen ‘.’ voor npmrc
Diagrammen
NPMRC-bestandsmap ziet er als volgt uit
NPMRC-inhoud ziet er zo uit
Hopelijk helpt het. Proost