TL; DR
คุณสามารถทำได้โดยใช้--prefixแฟล็กและ--globalแฟล็ก *
pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules
bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower
* แม้จะเป็นการติดตั้ง "ทั่วโลก", ถังติดตั้งจะไม่สามารถเข้าถึงได้ผ่านบรรทัดคำสั่งเว้นแต่มีอยู่ใน~/foo/vendor/node_modulesPATH
TL; R
ทุกคุณสมบัติที่กำหนดค่าได้npmสามารถตั้งค่าได้ในหกที่แตกต่างกัน ตามลำดับความสำคัญ:
- ธงบรรทัดคำสั่ง:
--prefix ./vendor/node_modules
- ตัวแปรสภาพแวดล้อม:
NPM_CONFIG_PREFIX=./vendor/node_modules
- ไฟล์กำหนดค่าผู้ใช้:
$HOME/.npmrcหรือuserconfigพารามิเตอร์
- ไฟล์กำหนดค่าส่วนกลาง:
$PREFIX/etc/npmrcหรือuserconfigพารามิเตอร์
- ไฟล์กำหนดค่าในตัว:
path/to/npm/itself/npmrc
- การกำหนดค่าเริ่มต้น: node_modules / npmconf / config-defs.js
./node_modulesโดยค่าเริ่มต้นแพคเกจในประเทศที่ติดตั้งเข้าไปใน คนทั่วโลกเข้าไปในprefixตัวแปรการตั้งค่า ( /usr/localโดยค่าเริ่มต้น)
คุณสามารถเรียกใช้npm config listเพื่อดูการกำหนดค่าปัจจุบันของคุณและnpm config editการเปลี่ยนแปลง
PS
โดยทั่วไปnpmเอกสารของมีประโยชน์จริง ๆ โฟลเดอร์ส่วนเป็นภาพรวมที่มีโครงสร้างที่ดีของ NPM และการตั้งค่าส่วนตอบคำถามนี้