ฉันควรใช้ npm กับแฟล็ก "-g" เมื่อใดและเพราะเหตุใด


117

ฉันเริ่มใช้ npm สำหรับการจัดการแพ็คเกจ js เมื่อเร็ว ๆ นี้ แม้ว่าฉันจะมีความเข้าใจอย่างเป็นธรรมเกี่ยวกับการจัดการแพ็คเกจในสภาพแวดล้อมที่แตกต่างกัน (สมมติว่าใช้ apt, rvm / gem, pythonbrew / Virtualenv / pip) แต่ฉันไม่ค่อยเข้าใจว่า npm เข้ากันได้ดีแค่ไหน

ฉันต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของแฟล็ก "-g" และเหตุใดฉันจึงควรใช้ เช่นเดียวกับในบล็อกและวิกิส่วนใหญ่พวกเขาอ้างถึงการใช้ "-g" เมื่อทำการติดตั้งโดยไม่ต้องอธิบายสาเหตุและฉันเข้าใจว่าแพ็คเกจเหล่านี้ได้รับการติดตั้งทั่วโลก

  • แต่เหตุใดฉันจึงควรติดตั้งแพ็คเกจเหล่านี้ทั่วโลกเสมอ
  • การติดตั้งแพ็กเกจเหล่านี้โดยไม่มีแฟล็ก "-g" หมายความว่าอย่างไร
  • ฉันจะทำอย่างไรกับแพ็คเกจที่ติดตั้งในเครื่องให้พูดว่าแซนด์บ็อกซ์สำหรับโครงการต่างๆ
  • จากนั้นฉันจะสร้างรายการแพ็คเกจ npm ที่ใช้ในโปรเจ็กต์และรวมกลุ่มในโปรเจ็กต์ได้อย่างไรถ้าฉันต้องการให้ตรวจสอบด้วยการควบคุมเวอร์ชัน (ถ้าเป็นไปได้เลย)

คำตอบ:


122

-gคือแฟล็กการติดตั้งส่วนกลางตามที่อธิบายไว้ในคำตอบนี้ มีรายละเอียดอยู่ในบล็อกโพสต์ของโหนดนี้

กฎง่ายๆ:

  • ติดตั้งแบบโกลบอลหากแพ็กเกจมีเครื่องมือบรรทัดคำสั่ง
  • ติดตั้งในเครื่องหากคุณใช้แพคเกจเป็นส่วนหนึ่งของแอปพลิเคชันของคุณ
  • ติดตั้งทั่วโลกและในเครื่องหากใช้ทั้งสองกรณี

0

ในขณะที่คำตอบที่ยอมรับนั้นถูกต้องโปรดทราบว่ายังมีสิ่งnpxที่ช่วยให้เรียกใช้เครื่องมือในพื้นที่ได้อย่างสะดวก

ดูข้อมูลเพิ่มเติมได้ที่https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner

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