170 votes

npm - installer les dépendances d'un paquet dans un dossier différent ?

J'ai la structure de répertoire suivante :

/some_project
    source.js
    package.json

Je voudrais installer les dépendances d'un projet. Je sais que je peux me connecter à un projet et exécuter npm install.

Mais je me demandais si c'était possible sans changer de répertoire ? Quelque chose comme

npm install some_project/package.json

406voto

coudy Points 1076

Vous pouvez utiliser le npm install <folder> avec la variante --prefix option. Dans votre scénario, le dossier et le préfixe seront les mêmes :

npm --prefix ./some_project install ./some_project

50voto

Linus G Thiel Points 18378

Mise à jour : Depuis le --prefix existe, je vote maintenant pour la réponse de @coudy à cette question. Réponse originale ci-dessous :

Non, npm s'installera toujours dans le répertoire courant ou, avec -g dans l'ensemble du système node_modules. Vous pouvez accomplir ceci avec un subshell, qui n'affectera pas votre répertoire courant :

(cd some_project && npm install)

Les parenthèses le font fonctionner dans un Sous-coque .

1voto

bottlenecked Points 860

Sur Windows 10, en utilisant powershell, la seule chose qui a fonctionné pour moi sans tous les problèmes et les cas de figure mentionnés dans cet article de blog était ceci

Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir

1voto

Aralox Points 864

Créez un package.json dans le répertoire Root avec le contenu suivant :

{
    "dependencies": {
        "helloworldprojectname": "file:hello\\world"
    }
}

Puis appelez ceci pour l'installer :

npm install --prefix ./hello/world

Il installe ./hello/world/node_modules en utilisant ./hello/world/package.json .

(Windows 10, Node v10.16.0, npm 7.6.1)

0voto

Yoannes Geissler Points 645

Sous Windows 10, je n'ai pas pu obtenir --prefix pour travailler, donc j'ai dû cd et l'exécuter.

cd PATH_TO_FOLDER && npm install

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X