มีวิธีง่ายๆในการติดตั้งแพ็กเกจทั้งหมดที่แอปของฉันขึ้นอยู่กับ (เช่นพวกเขาอยู่ในแอปของฉันโฟลเดอร์ node_modules)?
npm update <packageName>งานได้ดี
มีวิธีง่ายๆในการติดตั้งแพ็กเกจทั้งหมดที่แอปของฉันขึ้นอยู่กับ (เช่นพวกเขาอยู่ในแอปของฉันโฟลเดอร์ node_modules)?
npm update <packageName>งานได้ดี
คำตอบ:
วิธีที่ง่ายที่สุดที่ฉันสามารถดูเป็นลบโฟลเดอร์และดำเนินการnode_modulesnpm install
package.jsonไฟล์สำหรับแอปของคุณ
npm installหลังจากลบnode_modulesไดเรกทอรีสามารถทำให้เวอร์ชันการพึ่งพาที่แตกต่างกันที่กำหนดไว้package.jsonถูกดึงลงมา หากคุณต้องการการพึ่งพาเวอร์ชันที่เฉพาะเจาะจงมากสำหรับแอปของคุณให้ระวังและnpm shrinkwrapตรวจสอบหรือตรวจสอบในnode_modulesไดเรกทอรีของคุณเพื่อควบคุมแหล่งที่มา
npm installมันและจะติดตั้งการอ้างอิงและอัปเกรดแพ็คเกจเป็นเวอร์ชันล่าสุดตามที่อนุญาตโดย package.json ดังนั้นการลบnode_modulesโฟลเดอร์จึงไม่จำเป็นเว้นแต่ว่าคุณคิดว่าโฟลเดอร์นั้นเสียหาย มีเหตุผลที่คุณคิดว่าควรนำออกหรือไม่ อย่างไรก็ตามหากเจตนาคือการลบแพ็คเกจใด ๆ ที่ไม่เกี่ยวข้องกับภายนอกคุณสามารถดำเนินการnpm pruneแทนได้
npm installอัพเกรดโมดูลทั้งหมดเป็น package.json state แต่คำถามก็คือจะติดตั้งแพ็คเกจทั้งหมดได้อย่างไร ดังนั้นจึงอาจเสียหายหรืออาจต้องสร้างชิ้นส่วนไบนารี่ใหม่หลังจากอัพเกรดโหนด node.js
npm updateวิธีที่ถูกต้องคือการดำเนินการ มันเป็นคำสั่งที่ทรงพลังจริง ๆ มันอัพเดตแพ็คเกจที่ขาดหายไปและตรวจสอบว่าสามารถใช้แพ็คเกจรุ่นใหม่กว่าได้หรือไม่
อ่านคำแนะนำเกี่ยวกับ NPMเพื่อทำความเข้าใจว่าคุณสามารถทำอะไรได้บ้าง
npm uninstall <package_name>การถอนการติดตั้งแพคเกจที่เฉพาะเจาะจงหรือดำเนินการnpm uninstallเพื่อถอนการติดตั้งแพคเกจทั้งหมด
npm uninstallโดยไม่ระบุแพ็คเกจ แต่นั่นทำให้เกิดข้อผิดพลาด
ส่วนใหญ่ฉันใช้คำสั่งต่อไปนี้เพื่อให้สามารถติดตั้งโมดูลโหนดทั้งหมดได้สำเร็จ (ต้องแน่ใจว่าคุณอยู่ในโฟลเดอร์โปรเจ็กต์)
rm -rf node_modules && npm install
คุณสามารถเรียกใช้npm cache cleanหลังจากลบnode_modulesโฟลเดอร์เพื่อให้แน่ใจว่าไม่มีการอ้างอิงแคช
npmอัพเดตคำสั่ง CLI สำหรับinstallและเพิ่ม--forceแฟล็ก
npm install --force
--force(หรือ-f) อาร์กิวเมนต์จะบังคับให้npmดึงข้อมูลระยะไกลทรัพยากรแม้ว่าสำเนาที่มีอยู่บนดิสก์
ดู npm install
คุณสามารถใช้โมดูลติดตั้งใหม่ที่พบใน npm
หลังจากติดตั้งแล้วคุณสามารถใช้คำสั่งต่อไปนี้:
reinstall
ข้อแตกต่างเพียงอย่างเดียวกับการลบnode_modulesโฟลเดอร์ด้วยตนเองและการสร้างnpm installคือคำสั่งนี้ล้างแคชของ npm โดยอัตโนมัติ ดังนั้นคุณสามารถรับสามขั้นตอนในคำสั่งเดียว
upd: npx reinstallเป็นวิธีการรันคำสั่งนี้โดยไม่ต้องติดตั้งแพ็กเกจแบบโกลบอล (เฉพาะสำหรับ npm5 +)
สำหรับ Windows คุณสามารถใช้
(if exist node_modules rmdir node_modules /q /s) && npm install
ซึ่งลบnode_modulesไดเรกทอรีและดำเนินการnpm installแล้ว การลบก่อนติดตั้งทำให้มั่นใจได้ว่าแพคเกจทั้งหมดจะถูกติดตั้งใหม่
ทำตามขั้นตอนนี้เพื่อติดตั้งโมดูลโหนดอีกครั้งและอัพเดต
ทำงานได้แม้ว่าโฟลเดอร์ node_modules จะไม่มีอยู่ ตอนนี้รันคำสั่งต่อไปนี้พร้อมกัน คุณยังสามารถใช้ "การอัปเดต npm" แต่ฉันคิดว่านี่เป็นวิธีที่ต้องการ
npm outdated // not necessary to run this command, but this will show outdated dependencies
npm install -g npm-check-updates // to install the "ncu" package
ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version
npm install: will install dependencies in your package.json file.
หากคุณเห็นด้วยกับรุ่นของการอ้างอิงของคุณในไฟล์ package.json ของคุณไม่จำเป็นต้องทำตามขั้นตอนเหล่านั้นเพียงแค่เรียกใช้
npm install
npm rebuildอาจช่วยแก้ไขปัญหาบางอย่างเกี่ยวกับการอ้างอิงในตัวเอง