npm - ติดตั้งการพึ่งพาสำหรับแพ็คเกจในโฟลเดอร์อื่นหรือไม่?


142

ฉันมีโครงสร้างไดเรกทอรีต่อไปนี้:

/some_project
    source.js
    package.json

ฉันต้องการติดตั้งการพึ่งพาสำหรับ some_project ฉันรู้ว่าฉันสามารถ cd เป็น some_project แล้วเรียกใช้การติดตั้ง npm

แต่ฉันสงสัยว่ามันเป็นไปได้โดยไม่ต้องเปลี่ยนไดเรกทอรีหรือไม่ สิ่งที่ต้องการ

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จำเป็นต้องใช้สองหรือไม่?
Aron

12
./some_projectไม่จำเป็นที่สอง
JRJurman

4
ดูเหมือนจะไม่ทำงานสำหรับฉันใน Windows 10 มันติดตั้งการอ้างอิงในไดเรกทอรีปัจจุบันและเพิ่งวาง symlink ในโฟลเดอร์ย่อย
Herohtar

45

อัปเดต:เนื่องจากมี--prefixตัวเลือกอยู่ตอนนี้ฉันลงคะแนนให้ @ coudy ตอบคำถามนี้ คำตอบเดิมด้านล่าง:

ไม่npmจะติดตั้งในไดเร็กทอรีปัจจุบันเสมอหรือ-gในระบบ wide node_modules คุณสามารถทำได้โดยใช้ subshell ซึ่งจะไม่ส่งผลกระทบต่อไดเรกทอรีปัจจุบันของคุณ:

(cd some_project && npm install)

วงเล็บทำให้มันทำงานในsubshell


นี่คือสิ่งที่ฉันทำในที่สุด - cd some_project && npm ติดตั้ง ขอบคุณ
Florin

1
มีสิ่งนี้เทียบเท่ากับ Windows หรือไม่?
Meligy

@Meligy คุณสามารถใช้START /D "%my_dir%" /I /WAIT npm install
Everspace

1

ใน Windows 10 ฉันไม่--prefixสามารถทำงานได้ดังนั้นฉันจึงต้องcdดำเนินการ

cd PATH_TO_FOLDER && npm install 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.