npm - встановити залежності для пакета в іншій папці?


142

Я маю таку структуру каталогу:

/some_project
    source.js
    package.json

Я хотів би встановити залежності для some_project. Я знаю, що я міг би вступити в some_project і потім запустити npm install

Але мені було цікаво, чи це можливо без зміни каталогу? Щось на зразок

npm install some_project/package.json 

Відповіді:


344

Ви можете використовувати npm install <folder>варіант з --prefixопцією. У вашому сценарії папка та префікс будуть однаковими:

npm --prefix ./some_project install ./some_project

4
Це справжня відповідь на питання. Дякую @coudy.
G. Ghez

5
BTW, він створює порожню etcпапку в пункті призначення, це відома помилка github.com/npm/npm/pull/7249
Michael Radionov

8
Дякую за цю відповідь. Чи є ясність, чи ./some_projectпотрібна друга ?
Арон

12
другий ./some_projectне потрібно
JRJurman

4
Здається, це не працює для мене в Windows 10. Він встановлює залежності в поточному каталозі і просто ставить симпосилання в підпапку.
Герохтар

45

Оновлення. Оскільки --prefixваріант існує, я зараз голосую за відповідь @ coudy на це питання. Оригінальна відповідь нижче:

Ні, npmзавжди буде встановлюватися в поточному каталозі або, з -g, у системних широких node_модулях. Ви можете виконати це за допомогою допоміжної оболонки, що не вплине на поточний каталог:

(cd some_project && npm install)

В круглих дужках змушується запускати його в допоміжній оболонці .


Зрештою, це я зробив - встановіть cd some_project && npm. Спасибі
Флорін

1
Чи є еквівалент цього для Windows?
Мелігія

@Meligy ви можете використовуватиSTART /D "%my_dir%" /I /WAIT npm install
Everspace

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.