Ik heb de volgende mappenstructuur:
/some_project
source.js
package.json
Ik wil graag de afhankelijkheden voor some_project installeren.
Ik weet dat ik in een of ander project kan cd’en en dan npm install
. kan uitvoeren
Maar ik vroeg me af of het mogelijk is zonder de directory te wijzigen?
Iets als
npm install some_project/package.json
Antwoord 1, autoriteit 100%
U kunt de variant npm install <folder>
gebruiken met de optie --prefix
. In uw scenario zullen de map en het voorvoegsel hetzelfde zijn:
npm --prefix ./some_project install ./some_project
Antwoord 2, autoriteit 12%
Update:aangezien de optie --prefix
bestaat, stem ik nu voor @coudy’s antwoord op deze vraag. Origineel antwoord hieronder:
Nee, npm
wordt altijd geïnstalleerd in de huidige map of, met -g
, in de systeembrede node_modules. Je kunt dit echter een beetje bereiken met een subshell, die geen invloed heeft op je huidige map:
(cd some_project && npm install)
De haakjes zorgen ervoor dat het wordt uitgevoerd in een subshell.
Antwoord 3
Op Windows 10 was het gebruik van powershell het enige dat voor mij werkte zonder alle problemen en randgevallen die worden genoemd in dit blogberichtwas dit
Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir
Antwoord 4
Op Windows 10 kreeg ik --prefix
niet werkend, dus moest ik cd
en het uitvoeren.
cd PATH_TO_FOLDER && npm install
Antwoord 5
Maak een package.json in de hoofdmap met de volgende inhoud:
{
"dependencies": {
"helloworldprojectname": "file:hello\\world"
}
}
Noem dit dan om te installeren:
npm install --prefix ./hello/world
Het installeert ./hello/world/node_modules
met behulp van ./hello/world/package.json
.
(Windows 10, Node v10.16.0, npm 7.6.1)