บทความก่อนหน้านี้ "คำอธิบายโดยละเอียดของคำสั่ง NPM ทั่วไปใน nodejs" ส่วนใหญ่จัดระเบียบคำสั่ง NPM ที่ใช้กันมากที่สุดและการแนะนำที่เกี่ยวข้อง มันกล่าวถึงการติดตั้งทั่วโลก (NPM Install Gulp -G) และการติดตั้งในท้องถิ่น (NPM Install Gulp) ตัวเลขต่อไปนี้มาจากคู่มือแนะนำเว็บไซต์ Gulp Chinese จะเห็นได้ว่าหลังจากการติดตั้งทั่วโลกอึกจะติดตั้งในเครื่องด้วย ฉันสับสนในตอนแรก? เหตุใด Gulp จึงติดตั้งทั่วโลกจึงจำเป็นต้องติดตั้งในเครื่อง? เราไม่สามารถโทรหาแพ็คเกจที่ติดตั้งในพื้นที่โดยตรงในโครงการได้หรือไม่?
ด้วยความสงสัยฉันพบเอกสารที่เกี่ยวข้องใน Google หลังจากทำระเบียบทั้งหมดฉันพบปัญหาบางอย่าง ให้เราแก้ข้อสงสัยบางอย่างเกี่ยวกับการติดตั้งทั่วโลกและการติดตั้ง nodejs ในท้องถิ่น หากมีบางอย่างผิดปกติโปรดให้ความสนใจเพื่อแก้ไข
บทความนี้ใช้แพลตฟอร์ม Windows สำหรับการทดสอบและใช้ Gulp เป็นตัวอย่างในการสอน
สถานที่ติดตั้งทั่วโลกคืออะไร
วิธีการติดตั้งทั่วโลกคือการพิมพ์คำสั่ง: NPM ติดตั้ง Gulp -G หรือ NPM ติดตั้งอึก -Global โดยที่พารามิเตอร์ -G หมายถึงการติดตั้งลงในสภาพแวดล้อมทั่วโลก แพ็คเกจถูกติดตั้งในโฟลเดอร์ Node_Modules ภายใต้ไดเรกทอรีการติดตั้งโหนด โดยทั่วไปใน/ผู้ใช้/ผู้ใช้ชื่อ/AppData/Roaming/Directory คุณสามารถใช้ NPM root -G เพื่อดูไดเรกทอรีการติดตั้งทั่วโลก
วิธีการโทร
หลังจากการติดตั้งทั่วโลกสามารถใช้งานได้โดยบรรทัดคำสั่ง ผู้ใช้สามารถเรียกใช้คำสั่งโดยตรงที่สนับสนุนโดยแพ็คเกจส่วนประกอบในบรรทัดคำสั่ง ไฟล์ CMD หลังจากติดตั้งอึกทั่วโลกจะแสดงในรูปต่อไปนี้
สถานที่ติดตั้งในพื้นที่คืออะไร
วิธีการติดตั้งในท้องถิ่นคือการพิมพ์คำสั่ง: NPM ติดตั้งอึกหรือ NPM ติดตั้งอึก-SAVE-DEV ฯลฯ ที่พารามิเตอร์-SAVE-DEV หมายถึงการเขียนข้อมูลแพ็คเกจการติดตั้งของคุณลงในฟิลด์ DevDependencies ของไฟล์ package.json และแพ็คเกจถูกติดตั้งในโฟลเดอร์ Node_Modules
วิธีการโทร
หลังจากการติดตั้งในพื้นที่คุณสามารถแนะนำโมดูลโดยตรงในไดเรกทอรี Node_Modules ในโครงการผ่านต้องการ () ในตัวอย่างต่อไปนี้หลังจากการติดตั้งในพื้นที่ต้องใช้ ('gulp') โดยตรงใน gulpfile.js
ทำไมฉันต้องติดตั้งในเครื่องหลังจากการติดตั้งทั่วโลก
การติดตั้งทั่วโลกเพียงพอหรือไม่
1. ในรหัสอินสแตนซ์ JS โดยค่าเริ่มต้น node.js จะค้นหาโมดูลใน Node_Path และโฟลเดอร์ Node_Modules ภายใต้โครงการ JS ปัจจุบัน ดังนั้นหากเป็นเพียงการติดตั้งทั่วโลกโมดูลไม่สามารถอ้างอิงได้โดยตรงผ่านต้องการ () จำเป็นต้องแก้ปัญหาการกำหนดค่าของพา ธ แพ็คเกจด้วยตนเอง แน่นอนคุณสามารถคัดลอกโฟลเดอร์ Node_Modules ที่ติดตั้งทั่วโลกไปยังโครงการ นอกจากนี้ยังมีวิธีเลือกที่จะตั้งค่า node_path ของตัวแปรสภาพแวดล้อมเป็น c:/program files/nodejs
2. เป็นการยากที่จะจัดการการอัปเดตแพ็คเกจ คุณอาจต้องเปลี่ยนชื่อแต่ละแพ็คเกจเช่น [email protected], [email protected] ... เพื่อแยกความแตกต่างของแพ็คเกจที่ระบุจากโครงการที่แตกต่างกันให้แน่ใจว่าการพึ่งพาซึ่งกันและกันระหว่างโมดูล (จะมีการแนะนำด้านล่าง) และแยกแยะการทำงานปกติของแต่ละโครงการ
ดังนั้นจึงไม่แนะนำให้ติดตั้งทั่วโลกเท่านั้น
ความสำคัญของการติดตั้งในท้องถิ่น
Node.js/NPM ที่เก่าแก่ที่สุดนั้นเป็นระดับโลกรวมถึง Node_Path ที่เข้ากันได้ แต่ไม่สามารถรองรับหลายเวอร์ชันทั่วโลก ดังนั้นวิธีการติดตั้งในท้องถิ่นของทีม NodeJS อาจเป็นเพื่อให้แน่ใจว่าการพึ่งพาซึ่งกันและกันระหว่างแพ็คเกจเวอร์ชันที่แตกต่างกัน หมายความว่าอย่างไร? ตัวอย่างเช่นมีแพ็คเกจการพึ่งพาซึ่งกันและกัน 12 ชุดในองค์ประกอบ WEUI
หมายเลขเวอร์ชันที่ระบุของแพ็คเกจที่ขึ้นอยู่กับมีดังนี้และไม่สามารถแก้ไขได้อย่างง่ายดายเนื่องจากฟังก์ชั่นของแพ็คเกจพัสดุที่ขึ้นอยู่กับแพ็คเกจที่แตกต่างกันนั้นแตกต่างกัน หากคุณแก้ไขเวอร์ชันที่ระบุเพื่อเรียกใช้ WEUI คุณอาจมีข้อผิดพลาดในการรวบรวมและข้อบกพร่องอื่น ๆ
ให้ฉันยกตัวอย่างอีกครั้ง:
รหัสคัดลอกรหัสมีดังนี้: เวอร์ชันแพ็คเกจคือ:
A (0.0.1) ขึ้นอยู่กับ B (0.0.2), B (0.0.1) ขึ้นอยู่กับ C (0.0.3) หลังจากผู้เขียนดั้งเดิมได้รับการปรับปรุงเป็นระยะเวลาหนึ่งเวอร์ชันแพ็คเกจคือ: A (1.0.1) ขึ้นอยู่กับ B (1.0.0) และ B (1.0.0) ขึ้นอยู่กับ C (1.0.0)
การอัปเดตแต่ละครั้งอาจนำฟังก์ชั่นที่แตกต่างกัน เป็นสิ่งสำคัญอย่างยิ่งที่จะต้องเก็บข้อมูลรุ่นโมดูลที่ใช้ในการดาวน์โหลดหมายเลขเวอร์ชันที่ระบุเมื่อหลายคนร่วมมือกันเผยแพร่โมดูลและอัปโหลดไปยัง GitHub เพื่อให้ผู้อื่นใช้
การติดตั้งในท้องถิ่นช่วยให้แต่ละโครงการมีแพ็คเกจอิสระและไม่ได้รับผลกระทบจากแพ็คเกจทั่วโลกซึ่งอำนวยความสะดวกในการเคลื่อนไหวการคัดลอกการบรรจุภัณฑ์ ฯลฯ ของโครงการทำให้มั่นใจได้ว่าการพึ่งพาซึ่งกันและกันระหว่างแพ็คเกจรุ่นต่างๆ ข้อดีเหล่านี้ยากที่จะบรรลุโดยการติดตั้งทั่วโลก
นอกจากนี้ตามทีมโหนดแพ็คเกจการติดตั้งในพื้นที่จะโหลดได้เร็วขึ้นสำหรับโครงการ
มีข้อดีและข้อเสีย ตัวอย่างเช่นโครงการใหม่ทุกโครงการต้องมีการติดตั้งแพ็คเกจในท้องถิ่นที่ขึ้นอยู่กับ เวลาการติดตั้งแพ็คเกจค่อนข้างยาว ก่อนอื่นแพ็คเกจมีขนาดใหญ่เกินไปและการดาวน์โหลดช้า ประการที่สองมันสูญเปล่าพื้นที่ฮาร์ดดิสก์ อย่างไรก็ตามตอนนี้ฮาร์ดดิสก์คอมพิวเตอร์มีเพียงไม่กี่ต. คุณยังคงสนใจที่จะบันทึกพื้นที่นี้หรือไม่?
ข้างต้นคือความแตกต่างระหว่างการติดตั้ง NodeJs ทั่วโลกและการติดตั้งในท้องถิ่นที่แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!