ฉันค้นหาหน้าโมดูลวิกิแล้ว แต่ไม่พบสิ่งที่คล้ายกับ Virtualenv (python) หรือ rvm
ใครที่นี่แยก node.js ใน env ของตัวเอง? ฉันไม่ชอบติดตั้ง npm ทั้งระบบ
ฉันค้นหาหน้าโมดูลวิกิแล้ว แต่ไม่พบสิ่งที่คล้ายกับ Virtualenv (python) หรือ rvm
ใครที่นี่แยก node.js ใน env ของตัวเอง? ฉันไม่ชอบติดตั้ง npm ทั้งระบบ
คำตอบ:
หากการมีแพ็กเกจ npm ทั้งระบบเป็นปัญหาหลักของคุณคุณอาจลองใช้คำสั่ง 'บันเดิล' ที่ยอดเยี่ยมกับ npm ใกล้เคียงกับการแช่แข็งอัญมณีหรือการใช้บันเดิลเลอร์ในรางมากกว่า rvm
ง่ายสุด ๆ เพียงสร้างไฟล์ package.json:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
แล้วเรียกใช้:
npm bundle vendor
หรือถ้าเวอร์ชัน npm ของคุณคือ> = 1.0 ให้รัน:
npm install
เพื่อตรึงไว้ในไดเร็กทอรีผู้ขาย จากนั้นใช้:
require.paths.unshift('./vendor');
npm installแทนที่ด้วยnpm bundleNPM 1.0
nodeenv - สภาพแวดล้อมเสมือนจริงสำหรับ Node.js (อนาล็อกvirtualenv )
node.jsสภาพแวดล้อมเปิดใช้งานพร้อมกับสภาพแวดล้อม Python ดูnodeenv -p.
นอกจากนี้ยังมีระบบการจัดการ Node เวอร์ชันที่สามารถช่วยได้
ลองดู Nave https://github.com/isaacs/nave
NVM สามารถใช้https://github.com/creationix/nvm
นอกจากนี้ยังมีชื่อ n https://github.com/visionmedia/n
nvmหรือnต้องการสลับอัตโนมัติเมื่อคุณเปลี่ยนไดเรกทอรีโปรดดูที่avn: github.com/wbyoung/avn
คำตอบของ bxjx นั้นถูกต้องตามแนวคิด อย่างไรก็ตามโปรดทราบว่าคำสั่งบันเดิลไม่ใช้ไดเร็กทอรีอีกต่อไป มันมักจะทิ้งแพ็คเกจลงในnode_modulesโฟลเดอร์เพื่อให้ npm รู้ว่าจะหาได้ที่ไหนในภายหลัง (และสามารถหลีกเลี่ยงการติดตั้งการอ้างอิงซ้ำได้)
วิธีแก้ปัญหาใด ๆ อาจเกี่ยวข้องกับการติดตั้ง npm และ nave "ทั้งระบบ" (นั่นคือในของคุณPATHซึ่งอาจอยู่ที่~ใดที่หนึ่ง) แต่จะติดตั้งเฉพาะการอ้างอิงเฉพาะของคุณในสภาพแวดล้อมเสมือนเท่านั้น
ฉันตอบอย่างละเอียดเพิ่มเติมเกี่ยวกับปัญหา GitHub
tl; dr: กรณีการใช้งานนั้นถูกต้องและเป็นประโยชน์และแม้ว่าส่วนใหญ่จะอยู่ที่นั่น แต่ก็ไม่ได้ให้บริการดีเท่าที่ควร เราควรคิดให้ดีและทำอย่างถูกต้อง
คุณไม่จำเป็นต้องติดตั้งการอ้างอิงทั่วโลกเสมอไป โดยปกติก็แนะนำแล้วเพราะคุณสามารถใช้คำสั่งที่แพคเกจ NPM ให้ แต่ถ้าคุณติดตั้งไว้ในเครื่อง (ในnode_modules) ไดเรกทอรีคุณยังสามารถใช้คำสั่งเหล่านี้พวกเขาเพียงลมขึ้นในnode_modules/.bin/ไดเรกทอรีดังนั้นคุณจะต้องพิมพ์node_modules/.bin/<command>, ซึ่งน่ารำคาญ แต่คุณสามารถเพิ่มเส้นทางนี้ให้กับPATHตัวแปรสภาพแวดล้อมของคุณได้:
export PATH=node_modules/.bin:$PATH
จากนั้นคุณสามารถพิมพ์<command>และใช้งานได้!
มีคำสั่ง npm ที่ส่งคืนเส้นทางสัมบูรณ์ไปยัง.binไดเร็กทอรี:
$ npm bin
/path/to/node_modules/.bin
คำสั่งนี้ยังใช้งานได้เมื่อคุณอยู่ในไดเร็กทอรีย่อยของโปรเจ็กต์โดยจะส่งคืนnode_modules/.binไดเร็กทอรีแรกที่พบในไดเร็กทอรีหลัก
คุณสามารถเพิ่มนามแฝงนี้ใน.bashrcการเพิ่ม.bin/ไดเร็กทอรีของคุณโดยอัตโนมัติPATH:
alias nodebin='export PATH=$(npm bin):$PATH'
ดังนั้นเมื่อคุณอยู่ในไดเร็กทอรีของโปรเจ็กต์ที่มีnode_modules/ไดเร็กทอรีอยู่ในรูทคุณสามารถพิมพ์nodebinและใช้คำสั่งทั้งหมดที่อยู่ใน.bin/ไดเร็กทอรีได้!
ดูมีวิธีที่ดีกว่า:
การติดตั้ง Node.js และ npm ลงใน Python Virtualenv
ตอนนี้ฉันสามารถใช้เครื่องมือโหนดโดยไม่ยุ่งกับสภาพแวดล้อมของถังขยะทั่วโลก
ถ้าคุณชอบแบบเรียบง่ายฉันขอแนะนำให้ใช้ visionmedia's nอย่างแท้จริงไม่ง่ายเลย!
npm installสำหรับสิ่งนี้