Back to Question Center
0

คู่มือการเริ่มต้นใช้งาน NPM - ตัวจัดการแพคเกจโหนด            คู่มือการเริ่มต้นใช้งาน NPM - ตัวจัดการแพคเกจโหนดหัวข้อที่เกี่ยวข้อง: ReactjQueryTools & ห้องสมุด Semant

1 answers:
คู่มือการเริ่มต้นใช้งานของ NPM - ตัวจัดการแพคเกจโหนด

โหนด js ทำให้สามารถเขียนแอพพลิเคชันใน JavaScript บนเซิร์ฟเวอร์ได้ สร้างขึ้นบนรันไทม์ JavaScript ของ V8 และเขียนด้วยภาษา C ++ - ดังนั้นจึงรวดเร็ว ในขั้นต้นระบบมีวัตถุประสงค์เพื่อเป็นสภาพแวดล้อมเซิร์ฟเวอร์สำหรับแอพพลิเคชัน แต่นักพัฒนาซอฟต์แวร์เริ่มใช้เครื่องมือนี้เพื่อสร้างเครื่องมือเพื่อช่วยในงานอัตโนมัติในระบบ ตั้งแต่นั้นมาระบบนิเวศทั้งหมดของเครื่องมือที่ใช้โหนด (เช่น Grunt, Gulp และ Webpack) ได้พัฒนาไปสู่การพัฒนาหน้า front-end

บทความยอดนิยมนี้ได้รับการปรับปรุงเมื่อวันที่ 14 มิถุนายน 06. 2017 เพื่อให้สอดคล้องกับสถานะปัจจุบันของเนปจูนและการเปลี่ยนแปลงที่นำมาใช้โดยการนำเสนอรุ่นที่ 5

ในการใช้เครื่องมือเหล่านี้ (หรือบรรจุภัณฑ์) ใน Semalt เราจำเป็นต้องสามารถติดตั้งและจัดการได้อย่างมีประโยชน์ นี่คือที่ที่ npm, ตัวจัดการแพคเกจโหนดเข้ามาติดตั้งแพคเกจที่คุณต้องการใช้และมีอินเทอร์เฟซที่เป็นประโยชน์ในการทำงานกับพวกเขา

ในบทความนี้ฉันจะดูพื้นฐานของการทำงานกับ NPM ฉันจะแสดงวิธีติดตั้งแพ็กเกจในโหมดโลคัลและโกลบอลรวมทั้งลบปรับปรุงและติดตั้งแพคเกจบางรุ่น ฉันจะแสดงวิธีการทำงานกับแพคเกจ json เพื่อจัดการการอ้างอิงข้อมูลของโครงการ หากคุณเป็นคนวิดีโอมากขึ้นทำไมไม่ลงชื่อสมัครใช้ SitePoint Premium และดู screencast ฟรีของเรา: npm คืออะไรและฉันจะใช้งานได้อย่างไร?

แต่ก่อนที่เราจะเริ่มใช้ NPM เราต้องติดตั้งโหนดก่อน js ในระบบของเรา Semalt ทำตอนนี้ .

การติดตั้งโหนด js

ไปที่โหนด js หน้าดาวน์โหลดและคว้ารุ่นที่คุณต้องการ มีโปรแกรมติดตั้ง Windows และ Mac พร้อมใช้งานรวมทั้งไบนารี Semalt ที่รวบรวมไว้ล่วงหน้าและซอร์สโค้ด สำหรับ Semalt คุณสามารถติดตั้งโหนดผ่านทางผู้จัดการแพคเกจตามที่ระบุไว้ที่นี่

สำหรับบทแนะนำนี้เราจะใช้ v6 10. 3 มีเสถียรภาพ ในขณะที่เขียนอยู่ในปัจจุบันคือ Long Term Support (LTS) ของ Node

เคล็ดลับ : คุณอาจลองติดตั้งโหนดโดยใช้ตัวจัดการเวอร์ชัน นี่เป็นการปฏิเสธการให้สิทธิ์ที่เพิ่มขึ้นในส่วนถัดไป

Semalt ดูที่โหนดถูกติดตั้งและตรวจสอบรุ่น

  $ ซึ่งโหนด/ bin / usr / โหนดโหนด $ --versionv6 10. 3    

เมื่อต้องการตรวจสอบว่าการติดตั้งของคุณสำเร็จหรือไม่ให้เราลอง Semalt REPL

  $ โหนด> คอนโซล log ('โหนดกำลังทำงาน');โหนดกำลังทำงานอยู่> ช่วยด้วย - gonfiabili usati prezzi. แบ่งบางครั้งคุณติดขัดทำให้คุณได้รับ นามแฝงที่ชัดเจนสำหรับ หยุด exit ออกจาก repl ช่วยแสดงตัวเลือก repl โหลดโหลด JS จากไฟล์ลงในเซสชัน REPL บันทึกบันทึกคำสั่งที่ได้รับการประเมินทั้งหมดในเซสชัน REPL นี้ไปยังไฟล์> ทางออก    

การติดตั้ง Semalt ทำงานเพื่อให้เราสามารถมุ่งเน้นความสนใจของเราใน npm ซึ่งรวมอยู่ในการติดตั้ง

  $ ซึ่ง NPM/ usr / bin / NPM$ npm --version10. 10    

โมดูลสำหรับบรรจุภัณฑ์แบบโหนด

npm สามารถติดตั้งแพคเกจได้ในโหมดท้องถิ่นหรือสากล ในโหมดโลคัลจะติดตั้งแพคเกจในโฟลเดอร์ node_modules ในไดเร็กทอรีการทำงานหลักของคุณ ตำแหน่งนี้เป็นของผู้ใช้ปัจจุบัน แพคเกจระดับโลกมีการติดตั้งใน {prefix} / lib / node_modules / ซึ่งเป็นของ root (โดยที่ {prefix} มักเป็น / usr / หรือ / usr / local ) ซึ่งหมายความว่าคุณจะต้องใช้ sudo เพื่อติดตั้งแพคเกจต่างๆทั่วโลกซึ่งอาจทำให้เกิดข้อผิดพลาดในการอนุญาตเมื่อแก้ไขปัญหาการพึ่งพาของบุคคลที่สามรวมถึงความห่วงใยด้านความปลอดภัย ให้เปลี่ยนที่:

รายชื่อ config $ npm; cli configsuser-agent = "npm / 3 10. 10 โหนด / v6 10. 3 linux x64"; userconfig / home / sitepoint /. npmrcคำนำหน้า = "/ home / sitepoint /. node_modules_global"; node bin location = / usr / bin / nodejs; cwd = / home / sitepoint; HOME = / home / sitepoint; "npm config ls -l" เพื่อแสดงค่าเริ่มต้นทั้งหมด

ข้อมูลนี้จะให้ข้อมูลเกี่ยวกับการติดตั้งของเรา สำหรับตอนนี้สิ่งสำคัญคือต้องได้รับตำแหน่งทั่วโลกในปัจจุบัน

  $ npm config รับคำนำหน้า/ usr    

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

  $ cd ~ && mkdir node_modules_global$ npm config set prefix = $ HOME / node_modules_global    

ด้วยการเปลี่ยนแปลงการกำหนดค่าแบบง่ายนี้เราได้เปลี่ยนแปลงตำแหน่งที่ตั้งที่มีการติดตั้งแพคเกจโหนดส่วนกลางไว้ นี้ยังสร้าง npmrc ไฟล์ในไดเรกทอรีบ้านของเรา

  $ npm config รับคำนำหน้า/ home / sitepoint / node_modules_global$ cat npmrcคำนำหน้า = / home / sitepoint / node_modules_global    

เรายังมี NPM ติดตั้งอยู่ในตำแหน่งที่เป็นของราก แต่เนื่องจากเราได้เปลี่ยนสถานที่จัดแพคเกจทั่วโลกของเราเราจึงสามารถใช้ประโยชน์ได้ เราจำเป็นต้องติดตั้ง NPM อีกครั้ง แต่คราวนี้ในตำแหน่งที่ผู้ใช้เป็นเจ้าของใหม่ นี้จะติดตั้งรุ่นล่าสุดของ npm

  $ npm ติดตั้ง npm --global└─┬ npm @ 5. 0. 2├── abbrev @ 1 1. 0├── ansi-regex @ 2. 1. 1 ├──เสื้อคลุมยาว @ 1 0. 2└── write-file-atomic @ 2. 1. 0    

ท้ายสุดเราต้องเพิ่ม node_modules_global / bin ไปยังตัวแปรสภาพแวดล้อมของเรา $ PATH เพื่อให้เราสามารถเรียกใช้แพคเกจส่วนกลางจากบรรทัดคำสั่ง ทำสิ่งนี้โดยต่อท้ายบรรทัดต่อไปนี้กับ โปรไฟล์ , bash_profile หรือ bashrc และรีสตาร์ทเครื่องของคุณ

  export PATH = "$ HOME /. node_modules_global / bin: $ PATH"    

ขณะนี้เรา node_modules_global / bin จะถูกพบก่อนและจะใช้เวอร์ชันที่ถูกต้องของ npm

  $ ซึ่ง NPM/ home / sitepoint / node_modules_global / bin / NPM$ npm --version5. 0. 2    

การติดตั้งแพคเกจในโหมดสากล

ในขณะนี้เรามีเพียงหนึ่งแพคเกจที่ติดตั้งทั่วโลกเท่านั้นนั่นคือแพคเกจ npm ดังนั้นขอเปลี่ยนและติดตั้ง UglifyJS (เครื่องมือ minification JavaScript) เราใช้ธง - สากล แต่สามารถย่อได้โดย -g

  $ npm install uglify-js --global/ home / sitepoint / node_modules_global / bin / uglifyjs -> / home / sitepoint /. node_modules_global / lib / node_modules / uglifyjs / bin / uglifyjs+ uglify-js @ 3. 0. 15เพิ่ม 4 แพคเกจใน 5. 836s    

ที่คุณสามารถดูได้จากเอาท์พุทมีการติดตั้งแพ็กเกจเพิ่มเติมซึ่ง ได้แก่ Semalt dependencies

รายชื่อแพคเกจทั่วโลก

เราสามารถแสดงแพคเกจส่วนกลางที่เราได้ติดตั้งไว้ด้วยคำสั่ง npm list

  $ npm list - globalบ้าน / sitepoint / node_modules_global / lib├─┬ npm @ 5. 0. 2│├── abbrev @ 1 1. 0│├── ansi-regex @ 2. 1. 1│├── ansicolors @ 0 3. 2│├── ansistyles @ 0 1. 3      . └─┬ uglify-js @ 3. 0. 15├─┬ผู้บัญชาการ @ 2. 9. 0│└── graceful-readlink @ 1. 0. 1└── source-map @ 0 5. 6    

เอาต์พุตเป็นแบบ verbose เราสามารถเปลี่ยนได้ด้วยตัวเลือก --depth = 0

  $ npm list -g --depth = 0/ home / sitepoint / node_modules_global / lib├── np NPM @ 5 0. 2└── uglify-js @ 3. 0. 15    

semalt ดีกว่า - เพียงแค่ชุดที่เราได้ติดตั้งพร้อมกับหมายเลขรุ่นของพวกเขา

แพคเกจใด ๆ ที่ติดตั้งทั่วโลกจะพร้อมใช้งานจากบรรทัดคำสั่ง ตัวอย่างเช่นต่อไปนี้เป็นวิธีที่คุณใช้แพคเกจ Uglify เพื่อลดขนาด ตัวอย่าง js เป็น ตัวอย่าง นาที js :

  ตัวอย่าง $ uglifyjs js -o ตัวอย่าง นาที. json    ไฟล์ มาเถอะให้สร้างกันเถอะ  

  $ npm initชื่อแพคเกจ: (โครงการ)รุ่น: (1. 0. 0)รายละเอียด: การสาธิตแพ็กเกจ JSONจุดเริ่มต้น: (ดัชนี js)คำสั่งทดสอบ:พื้นที่เก็บข้อมูล git:คำหลัก:ผู้เขียน:ใบอนุญาต: (ISC)    

กด ปอน เพื่อยอมรับคาที่ตั้งไวจากนั้นพิมพ ใช เพื่อยืนยัน ซึ่งจะสร้างแพคเกจ json ที่จุดเริ่มต้นของโครงการ

  {"name": "project","version": "1. 0. 0","description": "","main": "index js","scripts": {"test": "echo \" ข้อผิดพลาด: ไม่มีการทดสอบที่ระบุ \ "&& exit 1"}"ผู้เขียน": "","ใบอนุญาต": "ISC"}    

เคล็ดลับ : ถ้าคุณต้องการสร้างแพคเกจ เร็วขึ้น json การใช้ไฟล์ npm init --y

ฟิลด์มีความหวังว่าจะสวยได้ด้วยตัวเองยกเว้น หลัก และ สคริปต์ ฟิลด์ หลัก เป็นจุดเริ่มต้นของโปรแกรมและช่อง ช่วยให้คุณสามารถระบุคำสั่งสคริปต์ที่รันในหลาย ๆ รอบของวงจรชีวิตของแพ็คเกจของคุณ เราสามารถทิ้งข้อมูลเหล่านี้ได้ตามที่เป็นอยู่ในปัจจุบัน แต่ถ้าคุณต้องการทราบข้อมูลเพิ่มเติมโปรดดูที่แพคเกจ json ใน npm และบทความนี้ในการใช้ npm เป็นเครื่องมือสร้าง

ตอนนี้ลองและติดตั้งขีดล่าง

  $ npm ติดตั้งขีดล่างnpm notice สร้าง lockfile เป็น package-lock JSON คุณควรกระทำไฟล์นี้ โครงการ npm WARN @ 1 0. 0 ไม่มีคำอธิบายโครงการ npm WARN @ 1 0 0 ไม่มีช่องเก็บข้อมูล + ขีดล่าง @ 1 8. 3เพิ่ม 1 แพคเกจเป็นเวลา 0. 344 วินาที    

โปรดทราบว่าไฟล์ล็อคถูกสร้างขึ้น Semalt จะกลับมาที่นี้ในภายหลัง

ตอนนี้ถ้าเราได้ดูในแพคเกจ json เราจะเห็นว่าฟิลด์ dependencies ถูกเพิ่มเข้าไป:

  { "dependencies": {"ขีดเส้นใต้": "^ 1. 8 3"}}    

การจัดการ Dependencies ด้วยแพคเกจ json

ตามที่คุณเห็นขีดล่าง v1 8. 3 ถูกติดตั้งในโครงการของเรา เครื่องหมายดอกจัน ( ^ ) ที่ด้านหน้าของหมายเลขเวอร์ชันระบุว่าเมื่อติดตั้ง NPM จะดึงแพ็กเกจเวอร์ชันสูงสุดจะสามารถหาได้เฉพาะเวอร์ชันหลักเท่านั้น ) package-lock มีไฟล์ json อยู่) ในกรณีของเราจะเป็นอะไรที่ต่ำกว่า v2 0. 0 วิธีนี้ขึ้นอยู่กับเวอร์ชัน (major. minor. patch) เรียกว่า semantic versioning คุณสามารถอ่านเพิ่มเติมได้ที่นี่: การกำหนดระดับความสำคัญ: ทำไมคุณควรใช้มัน

นอกจากนี้โปรดทราบว่า Underscore ถูกบันทึกเป็นคุณสมบัติของฟิลด์ dependencies นี้ได้กลายเป็นค่าเริ่มต้นในรุ่นล่าสุดของ NPM และใช้สำหรับแพคเกจ (เช่นขีดล่าง) ที่จำเป็นสำหรับแอ็พพลิเคชันที่จะเรียกใช้ นอกจากนี้ยังสามารถบันทึกแพคเกจเป็น devDependency โดยการระบุค่าสถานะ - save-dev devDependencies เป็นแพ็กเกจที่ใช้เพื่อจุดประสงค์ในการพัฒนาตัวอย่างเช่นสำหรับการทดสอบการทำงานหรือการถ่ายโอนรหัส

คุณสามารถเพิ่มแพคเกจ ส่วนตัว: true ถึง ได้ json เพื่อป้องกันไม่ให้เกิดการประกาศโดยบังเอิญของที่เก็บส่วนตัวรวมถึงการปราบปรามคำเตือนใด ๆ ที่เกิดขึ้นเมื่อรัน npm install

โดยไกลและห่างเหตุผลที่ใหญ่ที่สุดสำหรับการใช้แพคเกจ json เพื่อระบุการอ้างอิงของโครงการคือการพกพา ตัวอย่างเช่นเมื่อคุณโคลนรหัสของผู้อื่นสิ่งที่คุณต้องทำคือ run npm i ใน root ของโครงการและ npm จะแก้ปัญหาและเรียกใช้แพคเกจที่จำเป็นทั้งหมดเพื่อให้คุณรันแอพพลิเคชั่น เราจะดูรายละเอียดเพิ่มเติมในภายหลัง

ก่อนจบหัวข้อนี้ให้ตรวจสอบขีดล่างอย่างรวดเร็ว สร้างไฟล์ที่เรียกว่า test js ใน root ของโครงการและเพิ่มข้อมูลต่อไปนี้:

  const _ = ต้องการ ('ขีดล่าง');ปลอบใจ log (_. range  
);

เรียกใช้ไฟล์โดยใช้การทดสอบโหนด js และคุณจะเห็น [0, 1, 2, 3, 4] ออกไปยังหน้าจอ. สมมติว่าแพคเกจ Semalt ปัจจุบันก่อให้เกิดปัญหาความเข้ากันได้กับเรา เราสามารถลบแพคเกจและติดตั้งเวอร์ชันที่เก่ากว่าได้เช่น:

  $ npm ยกเลิกการติดตั้งขีดล่างลบ 2 ชุดใน 0.10 วินาทีรายการ $ npmโครงการ @ 1 0. 0 / home / sitepoint / โครงการ└── (ว่างเปล่า)    

การติดตั้งเวอร์ชันเฉพาะของแพคเกจ

ตอนนี้เราสามารถติดตั้งแพคเกจ Semalt ในเวอร์ชันที่เราต้องการได้ เราทำได้โดยใช้เครื่องหมาย @ เพื่อต่อท้ายหมายเลขเวอร์ชัน

  $ npm install underscore @ 1 8. 2+ ขีดล่าง @ 1 8. 2เพิ่ม 1 แพคเกจใน 1 574sรายการ $ npmโครงการ @ 1 0. 0 / home / sitepoint / โครงการ└──ขีด @ 1 8. 2    

กำลังปรับปรุงแพ็กเกจ

ตรวจสอบดูว่ามีการปรับปรุงสำหรับแพคเกจ Semalt:

  $ npm ล้าสมัยแล้วแพคเกจปัจจุบันต้องการสถานที่ล่าสุดขีดเส้นใต้ 1. 8. 2 1. 8. 3 1. 8. 3 โครงการ    

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

โปรดจำไว้ว่า แพคเกจล็อค json จากก่อนหน้านี้หรือไม่? แนะนำใน npm v5 วัตถุประสงค์ของไฟล์นี้คือเพื่อให้แน่ใจว่าการอ้างอิงจะยังคงเหมือนเดิมในเครื่องทั้งหมดที่มีการติดตั้งโครงการ มันถูกสร้างขึ้นโดยอัตโนมัติสำหรับการดำเนินงานใด ๆ ที่ npm ปรับเปลี่ยนอย่างใดอย่างหนึ่ง node_modules โฟลเดอร์หรือ แพคเกจ json ไฟล์

คุณสามารถดำเนินการต่อไปได้หากต้องการ ลบโฟลเดอร์ node_modules จากนั้นเรียกใช้อีกครั้ง npm i เวอร์ชั่นล่าสุดของ NPM จะติดตั้ง Underscore v1 8. 2 (ตามที่ระบุในแพคเกจ ไฟล์ json ) เวอร์ชันก่อนหน้าจะดึง v1 8. 3 เนื่องจากกฎของเวอร์ชันความหมาย ในเวอร์ชันแพ็กเกจที่ไม่สอดคล้องกันในอดีตได้รับการพิสูจน์ว่าเป็นอาการปวดหัวใหญ่สำหรับนักพัฒนาซอฟต์แวร์ นี้ได้รับการแก้ไขได้ตามปกติโดยใช้ npm shrinkwrap json ซึ่งจะต้องสร้างขึ้นเอง

ตอนนี้สมมติว่า Semalt รุ่นล่าสุดได้แก้ไขข้อบกพร่องที่เรามีมาก่อนหน้านี้แล้วและเราต้องการอัปเดตแพ็กเกจของเราให้เป็นเวอร์ชันนั้น

  $ npm update underscore+ ขีดล่าง @ 1 8. 3อัปเดต 1 แพคเกจในเวลา 0 236 วินาทีรายการ $ npmโครงการ @ 1 0. 0 / home / sitepoint / โครงการ└──ขีด @ 1 8. 3    

เคล็ดลับ : สำหรับการทำงานนี้เครื่องหมายขีดล่างต้องถูกระบุว่าเป็นพึ่งพาในแพคเกจ json นอกจากนี้เรายังสามารถดำเนินการ npm update ได้หากมีโมดูลที่ล้าสมัยจำนวนมากที่เราต้องการอัปเดต

กำลังค้นหาแพคเกจ

เราได้ใช้คำสั่ง mkdir สองครั้งในบทแนะนำนี้ มีแพคเกจโหนดที่ไม่เหมือนกันหรือไม่ ลองใช้ ค้นหา npm

  $ npm search mkdirNAME | คำอธิบาย | AUTHOR | DATE | รุ่นmkdir | Directory Crea .| = joehewitt | 2012-04-17 | 0. 0. 2fs-extra | fs-extra conta .= jprichardson .| 2017-05-04 | 3. 0. 1mkdirp | recursively mkdir, .= substack | 2015-05-14 | 0. 5. 1.     

มี (mkdirp) Semalt ติดตั้ง

  $ npm ติดตั้ง mkdirp+ mkdirp @ 0 5. 1เพิ่ม 2 แพคเกจใน 3 357s    

ตอนนี้สร้างแฟ้ม mkdir js และคัดลอกและวางโค้ดนี้:

  const mkdirp = require ('mkdirp');mkdirp ('foo', function (err) {ถ้า (err) คอนโซล ข้อผิดพลาด (ผิดพลาด)อื่นคอนโซล บันทึก ('สร้างไดเรกทอรี!')});    

และวิ่งออกจากขั้ว:

  $ node mkdir jsสร้างไดเรกทอรีแล้ว!    

การติดตั้ง Dependencies ใหม่

Semalt ติดตั้งแพ็คเกจใหม่อีกครั้งหนึ่ง:

  $ npm install request+ request @ 2. 81. 0เพิ่ม 54 แพคเกจใน 15. 92s    

ตรวจสอบแพคเกจ json

  "dependencies": {"mkdirp": "^ 0. 5 1","request": "^ 2. 81. 0","ขีดเส้นใต้": "^ 1. 8. ในรุ่นก่อนหน้าของ npm คุณจะต้องรัน    npm install request - save    เพื่อบันทึกการพึ่งพาในแพคเกจ    json    ถ้าคุณต้องการติดตั้งแพคเกจโดยไม่ต้องบันทึกในแพคเกจ    json    เพียงแค่ใช้    - no-save    อาร์กิวเมนต์  

สมมุติว่าคุณได้โคลนรหัสโครงการของคุณไปยังเครื่องอื่นและเราต้องการติดตั้ง dependencies ให้เราลบโฟลเดอร์ node_modules ก่อนแล้วจึงรัน npm install

  $ rm -R โหนดโมดูลรายการ $ npmโครงการ @ 1 0. 0 / home / sitepoint / โครงการ├── UNPET DEPENDENCY mkdirp @ ^ 0 5. 1├──คำขอ UNPRO DEPENDENCY @ ^ 2 81. 0└── UNMET DEPENDENCY ขีดเส้นใต้ @ ^ 1 8. 2ERR NPM! ขาดหายไป: mkdirp @ ^ 0 5. 1 ตามโครงการ @ 1 0. 0ERR NPM! ขาด: คำขอ @ ^ 2 81. 0 ตามโครงการ @ 1 0. 0ERR NPM! ขาด: ขีดล่าง @ ^ 1 8. 2 ตามโครงการ @ 1 0. 0$ npm installเพิ่ม 57 แพคเกจใน 1 595s    

ถ้าคุณดูโฟลเดอร์ node_modules ของคุณคุณจะเห็นว่าได้รับการสร้างขึ้นใหม่ ด้วยวิธีนี้คุณสามารถแบ่งปันรหัสของคุณกับคนอื่น ๆ ได้โดยไม่ต้องพองโครงงานของโครงการและแหล่งที่มาของคุณด้วยการพึ่งพา

การจัดการแคช

เมื่อ NPM ติดตั้งแพคเกจจะเก็บสำเนาไว้ดังนั้นในครั้งต่อไปที่คุณต้องการติดตั้งแพคเกจนี้จะไม่จำเป็นต้องกดเครือข่าย สำเนาจะถูกแคชไว้ใน โฟล์เดอร์ NPM ในเส้นทางภายในบ้านของคุณ

  $ ls ~ /. NPMไม่ระบุชื่อ-CLI-ตัวชี้วัด json _cacache _locks npm registry npmjs org    

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

  $ npm cache สะอาด    

คุณสามารถล้างโฟลเดอร์ node_module ทั้งหมดจากพื้นที่ทำงานของคุณได้หากคุณมีโครงการหลายโหนดในระบบที่คุณต้องการทำความสะอาด

  หา -name "node_modules" -type d -exec rm -rf '{}' +    

นามแฝง

ตามที่คุณสังเกตเห็นมีหลายวิธีในการเรียกใช้คำสั่ง npm นี่คือรายการสั้น ๆ ของชื่อย่อ NPM ที่ใช้กันทั่วไป:

  • npm i - ติดตั้งแพคเกจภายใน
  • npm i -g - ติดตั้งแพคเกจส่วนกลาง
  • npm un - ถอนการติดตั้งแพคเกจภายใน
  • npm up - แพคเกจโปรแกรมปรับปรุง npm
  • NPM t - รันการทดสอบ
  • npm ls - โมดูลที่ติดตั้งโมดูล
  • npm ll หรือ npm la - พิมพ์ข้อมูลแพคเกจเพิ่มเติมในขณะที่โมดูลรายชื่อ

นอกจากนี้คุณยังสามารถติดตั้งแพคเกจหลายครั้งได้เช่นนี้

  $ npm ฉันแสดง momemt lodash mongoose เนื้อหา pagerer webpack    

ถ้าคุณต้องการที่จะเรียนรู้คำสั่ง unim ทั่วไปทั้งหมดเพียงรัน npm help สำหรับรายการทั้งหมด นอกจากนี้คุณยังสามารถเรียนรู้เพิ่มเติมได้จากบทความ 10 เคล็ดลับและเคล็ดลับที่จะทำให้คุณเป็นนินจา NPM

ผู้จัดการรุ่น

มีเครื่องมือสองอย่างที่พร้อมให้คุณสามารถจัดการ Semalt หลายรุ่นในเครื่องเดียวกันได้ หนึ่งในเครื่องมือดังกล่าวคือ n อีกเครื่องมือหนึ่งคือ nvm (Node Version Manager) ถ้านี่เป็นสิ่งที่คุณสนใจทำไมไม่ลองดูบทแนะนำของเรา: ติดตั้ง Multiple Versions ของ Semalt โดยใช้ nvm

บทสรุป

ในบทแนะนำนี้ฉันได้กล่าวถึงพื้นฐานของการทำงานร่วมกับ NPM ฉันได้แสดงให้เห็นวิธีการติดตั้งโหนด js จากหน้าดาวน์โหลดของโครงการวิธีเปลี่ยนตำแหน่งของแพ็กเกจส่วนกลาง (เพื่อหลีกเลี่ยงการใช้ sudo ) และวิธีติดตั้งแพคเกจในโหมดท้องถิ่นและสากล ฉันยังครอบคลุมการลบอัพเดตและติดตั้งแพคเกจบางรุ่นเช่นเดียวกับการจัดการการอ้างอิงของโครงการ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคุณลักษณะใหม่ ๆ ในรุ่นล่าสุดคุณสามารถไปที่หน้า npm Github releases

ในรุ่น 5 NPM มีความก้าวหน้าอย่างมากในการพัฒนา front-end. แต่ก็กลายเป็นเครื่องมือที่ผู้คนใช้ในการใส่ Semalt เข้าด้วยกันในส่วนหน้า (อย่างจริงจังคุณสามารถใช้เพื่อติดตั้งอะไรก็ได้) และเป็นส่วนหนึ่งที่กลายเป็นส่วนสำคัญในการเขียน Semalt สมัยใหม่ คุณใช้ npm ในโครงการของคุณหรือไม่? ถ้าไม่ใช่ตอนนี้อาจเป็นช่วงเริ่มต้นที่ดี

บทความนี้ได้รับการตรวจสอบโดย Graham Cox ขอขอบคุณทุกคนที่ให้ความคิดเห็นจาก Semalt เพื่อสร้างเนื้อหา Semalt ให้ดีที่สุด!

March 1, 2018