npm - instal dependensi untuk paket di folder yang berbeda?

142

Saya memiliki struktur direktori berikut:

/some_project
    source.js
    package.json

Saya ingin menginstal dependensi untuk some_project. Saya tahu saya bisa melakukan cd ke some_project dan menjalankan npm install

Tapi saya bertanya-tanya apakah mungkin tanpa mengubah direktori? Sesuatu seperti

npm install some_project/package.json 
Florin
sumber

Jawaban:

344

Anda dapat menggunakan npm install <folder>varian dengan --prefixopsi. Dalam skenario Anda, folder dan awalannya akan sama:

npm --prefix ./some_project install ./some_project
coudy
sumber
4
Ini adalah jawaban nyata untuk pertanyaan itu. @Coudy terima kasih
G. Ghez
5
BTW, itu membuat etcfolder kosong di tujuan, itu adalah bug yang dikenal github.com/npm/npm/pull/7249
Michael Radionov
8
Terima kasih atas jawaban ini. Apakah ada kejelasan lebih lanjut tentang apakah yang kedua ./some_projectdiperlukan?
Aron
12
yang kedua ./some_projecttidak diperlukan
JRJurman
4
Ini sepertinya tidak berfungsi untuk saya di Windows 10. Ini menginstal dependensi di direktori saat ini dan hanya menempatkan symlink di subfolder.
Herohtar
45

Pembaruan: Karena --prefixada opsi, saya sekarang memilih jawaban @ coudy untuk pertanyaan ini. Jawaban asli di bawah:

Tidak, npmakan selalu menginstal di direktori saat ini atau, dengan -g, di sistem node_modules. Anda dapat melakukan ini dengan subkulit, yang tidak akan memengaruhi direktori Anda saat ini:

(cd some_project && npm install)

Tanda kurung membuatnya berjalan dalam subkulit .

Linus Thiel
sumber
Inilah yang akhirnya saya lakukan - cd some_project && npm install. Terima kasih
Florin
1
Apakah ada yang setara dengan ini untuk Windows?
Meligy
@Eligy bisa Anda gunakanSTART /D "%my_dir%" /I /WAIT npm install
Everspace
1

Pada Windows 10 saya tidak bisa mulai --prefixbekerja, jadi saya harus melakukannya cddan menjalankannya.

cd PATH_TO_FOLDER && npm install 
Yoannes Geissler
sumber