ฉันจะอัพเดต NodeJS และ NPM เป็นเวอร์ชันถัดไปได้อย่างไร


1663

ฉันเพิ่งติดตั้งNode.jsและnpm(สำหรับโมดูลเพิ่มเติม)

ฉันจะอัพเดต Node.js และโมดูลที่ฉันใช้เป็นเวอร์ชั่นล่าสุดได้อย่างไร

สามารถnpmทำได้หรือฉันต้องลบและติดตั้ง Node.js และ npm ใหม่เพื่อรับรุ่นถัดไปหรือไม่

ฉันทำตามขั้นตอนนี้ในnpmส่วน


ฉันชี้ให้เห็นว่าแม้แต่วิธีที่ถูกต้องในการอัปเดต npm ก็คือการใช้ nodesource.com ดูstackoverflow.com/a/24760147/544463
Yauhen Yakimovich

ข้อมูลซ้ำซ้อนที่เป็นไปได้ของวิธีการอัพเดต npm
Simone Poggi

7
@Motocarota ดูวันที่คำถามอื่นซ้ำซ้อนกับคำถามนี้ ...
Andre Figueiredo

6
มีเครื่องมือที่nvmให้คุณมีตัวเลือกที่จะมีโหนดที่ทำงานมากกว่าหนึ่งรุ่น + npm
ИскренСтаниславов

ทุกอย่างเปลี่ยนไปให้ดีขึ้นนับตั้งแต่มีการถามครั้งแรก (หากคุณไม่ต้องการรุ่นที่จัดการ) ดูการปรับปรุง Node (Windows, Mac และ Linux)
swelet

คำตอบ:


1755

ดูเอกสารสำหรับupdateคำสั่ง:

npm update [-g] [<pkg>...]

คำสั่งนี้จะอัปเดตแพ็กเกจทั้งหมดที่แสดงรายการเป็นเวอร์ชันล่าสุด (ระบุโดยการกำหนดค่าแท็ก) ซึ่งเกี่ยวข้องกับ semver

นอกจากนี้โปรดดูเอกสารในNode.js และ NPM การติดตั้งและการอัพเกรด NPM

คำตอบดั้งเดิมต่อไปนี้มาจากคำถามที่พบบ่อยเก่าที่ไม่มีอยู่อีกต่อไป แต่ควรใช้ได้กับ Linux และ Mac:

ฉันจะอัพเดต npm ได้อย่างไร

npm install -g npm

โปรดทราบว่าคำสั่งนี้จะลบเวอร์ชันปัจจุบันของคุณเป็น npm ตรวจสอบให้แน่ใจว่าจะใช้sudo npm install -g npmถ้าบน Mac

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

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

curl https://www.npmjs.com/install.sh | sh

การอัปเดต Node.js ตัวเองผมขอแนะนำให้คุณใช้NVM โหนดจัดการเวอร์ชัน


122
npm update npm -gไม่ทำงานสำหรับฉันบน windows - เสร็จสิ้นโดยไม่มีเอาต์พุต แต่ npm ยังคงเป็นรุ่นเดียวกัน (1.3.11 เมื่อรุ่นล่าสุดคือ 1.3.14)
BT

11
นอกจากนี้ยังมีการติดตามการเปลี่ยนเส้นทางด้วย -Lcurl -L https://npmjs.org/install.sh | sudo sh
AndyL

40
ฉันทำตามที่คุณพูดnpm update npm -gและตอนนี้ฉันไม่มีคำสั่ง npm
alexserver

18
การใช้ npm เพื่อติดตั้งเวอร์ชันใหม่ของตัวเอง ฉันได้กลิ่นสิ่งที่ระเบิด
Claudio Holanda

15
อย่าใช้ sudo npm install -g npm! สิ่งนี้จะถอนการติดตั้ง!
chris123

434

ฉันพบวิธีที่เป็นระเบียบในการอัพเดทโหนดบนบล็อกของ David Walshคุณสามารถทำได้โดยการติดตั้งn:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

nodeมันจะติดตั้งรุ่นที่มีเสถียรภาพในปัจจุบันของ


แก้ไข:โปรดอย่าใช้อีกต่อไป nvmผมขอแนะนำให้ใช้ คุณสามารถติดตั้งเสถียรโดยทำตามคำสั่งด้านล่าง:

nvm ls-remote
nvm install <version> 
nvm use <version>

8
ปฏิเสธที่จะทำงานกับ windows x64 (แต่ทำงานได้กับ win32) นั่นไม่สอดคล้องกับโครงการ Node.js
rainabba

8
ไม่รองรับ Windows ฉันรู้ว่าการใช้ลีนุกซ์จะง่ายกว่า แต่ที่ทำงานฉันไม่สามารถเลือกระบบปฏิบัติการได้ ดังที่ @rainabba กล่าวว่าจิตวิญญาณของโครงการ Node.js คือการข้ามแพลตฟอร์มและนี่ไม่ใช่
Kevin Dice

1
ใน Windows คุณสามารถดาวน์โหลดโหนดรุ่นใหม่ล่าสุดและติดตั้งได้ มันจะอัพเกรดทั้งโหนดและ npm
Daniel Weiner

1
ใน windows 10 คุณต้องดาวน์โหลดตัวติดตั้งจากnodejs.org/enเนื่องจากคำสั่งนี้ใช้ไม่ได้ ฉันไม่ได้พูดถึง sudo ที่ไม่มีความหมายใน windows ฉันหมายถึงคำสั่ง
kamayd

12
ทำไมคุณถึงพูดว่า 'ได้โปรดอย่าใช้อีกต่อไป' มีเหตุผลพิเศษไหม?
Qiulang

316

การอัปเดต npm เป็นเรื่องง่าย:

npm install npm@latest -g

สิ่งนี้ทำให้เกิดข้อผิดพลาดร้ายแรงอย่างน้อยสำหรับผู้ใช้ Mac ดูที่นี่
dmr07

3
การใช้ windows 10 และโหนด v5.7.0 คำสั่งnpm install npm@latest -gไม่สามารถอัพเกรดจาก npm 2.7.4 เป็น npm 3.9.3
surfmuggle

3
ขอบคุณมันใช้งานได้สำหรับฉันมันค่อนข้างง่าย แต่ฉันต้องทำsudo npm install npm@latest -gทั้งหมด โหวตขึ้น
Siddhartha Chowdhury

12
นี่เป็นคำตอบอย่างเป็นทางการ: docs.npmjs.com/getting-started/installing-node
Travis Reeder

2
มันง่ายมากขอบคุณ มันได้ผลสำหรับฉันในทันที :) คนอื่น ๆ ก็ไม่ได้ผลสำหรับฉันเช่นกัน
læran91

153

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

โชคดีที่มันดูแลทุกอย่างและด้วยการคลิกปุ่ม 'ถัดไป' ฉันได้รับเวอร์ชันล่าสุด 0.8.15 Node.js ที่ทำงานบนเครื่อง Windows 7 ของฉัน


1
ใช่. สิ่งนี้ใช้ได้สำหรับฉัน ฉันอยู่บน windows nวิธีการทำงานไม่ได้ หวังว่าจะมีวิธีที่ดีกว่าในการทำมัน
Alexis

1
นี่เป็นวิธีที่ดีที่สุดและง่ายที่สุดในการอัพเกรดโหนดบน windows ทำงานให้ฉันได้ดี ขอบคุณ anmol
peter

6
หากคุณกำลังอัปเดตจาก npm v1.x เป็น 2.x บน Windows คุณอาจลบไฟล์ 'npm', 'npm.cmd' จาก“ C: \ Program Files \ nodejs” หลังจากติดตั้งหรือ udpating npm ดู: escapologist.wordpress.com/2014/09/29/…
Tom Wayson

อย่าลืมรีบูตในภายหลัง!
Humppakäräjät

สิ่งนี้ใช้ได้กับ Windows 10 และทั้ง Node และ npm update ลื่นมาก
Mike_Laird

118

ในขณะที่คุณอาจทราบแล้วว่าNPMจะรวมอยู่กับNode.js หมายความว่าหากคุณติดตั้งnode.js แสดงว่าคุณได้ติดตั้งnpmแล้วเช่นกัน

นอกจากนี้ให้ดูที่ตารางรุ่นnode.jsและnpmที่แสดงถึงความเข้ากันได้ของรุ่นโดยประมาณ บางครั้งรุ่นที่ไม่ตรงกันอาจทำให้เกิดข้อผิดพลาด

ดังนั้นหากคุณเป็นนักพัฒนามันเป็น "แนวปฏิบัติที่ดีที่สุด" ในการจัดการสภาพแวดล้อมการพัฒนาของคุณโดยใช้หนึ่งในnode.js version manager

นี่คือรายการและบันทึกการใช้งานที่ได้รับความนิยมมากที่สุด:

Homebrew (macOS)

หากคุณอยู่ในMacOSคุณสามารถใช้Homebrew

ที่จริงแล้วมันไม่ใช่แค่ตัวจัดการเวอร์ชันของnode.js

ในการติดตั้งHomebrewไปยัง Mac ของคุณ:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

ในการติดตั้งnode.jsและnpmโดยใช้ Homebrew ให้รัน:

$ brew install node

หลังจากนั้นคุณจะสามารถอัปเดตได้โดยใช้:

$ brew update && brew upgrade node

นอกจากนี้คุณสามารถสลับระหว่างเวอร์ชันnode.js ได้เช่นกัน:

$ brew switch node 0.10.26

npmจะได้รับการอัพเกรด / ลดระดับโดยอัตโนมัติ

n (macOS, Linux)

nมักจะเป็นrvm (Ruby Version Manager) และใช้เพื่อจัดการnode.jsและเวอร์ชันnpmพร้อมกัน มันเขียนไว้บนบริสุทธิ์เปลือก Linuxและสามารถใช้ได้เป็นโมดูล NPM ดังนั้นถ้าคุณมีใด ๆNode.jsรุ่นที่ติดตั้งคุณสามารถติดตั้ง / อัปเดตnแพคเกจผ่านnpm:

$ npm install -g n

การดาวน์โหลดติดตั้งและเปลี่ยนเป็นnode.jsและเวอร์ชันnpmนั้นง่ายเหมือน:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

ในการดาวน์โหลดติดตั้งและเปลี่ยนเป็นรีลีสล่าสุดอย่างเป็นทางการให้ใช้:

$ n latest

ในการดาวน์โหลดติดตั้งและเปลี่ยนเป็นรีลีสอย่างเป็นทางการที่เสถียรล่าสุดให้ใช้:

$ n stable

หากต้องการเปลี่ยนเป็นเวอร์ชันใช้งานก่อนหน้า (aka $ cd -) ให้ใช้:

$ n prev

หากคุณต้องการดูรายการเวอร์ชันnode.js ที่ติดตั้งเพียงรันnจากบรรทัดคำสั่งของคุณ ผลลัพธ์จะเป็นดังนี้:

$ n

  0.10.26
 0.8.17
  0.9.6

โดยที่จุด (•) หมายความว่าเป็นเวอร์ชันที่ใช้งานอยู่ในปัจจุบัน หากต้องการเลือกเวอร์ชันnode.jsอื่นจากรายการให้ใช้Up/ Downแป้นลูกศรและเปิดใช้งานโดยใช้Enterปุ่ม

หากต้องการแสดงรุ่นที่สามารถติดตั้งได้:

$ n lsr

nvm (macOS, Linux)

nvmก็เหมือนกับrvmแม้ชื่อคำสั่งและการใช้งานก็คล้ายคลึงกันมาก

ในการติดตั้งnvmคุณสามารถใช้สคริปต์การติดตั้ง (ต้องการgit) โดยใช้cURL:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

หรือwget:

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

หากต้องการดาวน์โหลดและติดตั้งnode.jsและเวอร์ชันnpm ที่เจาะจงให้ใช้:

$ nvm install 0.10

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

$ nvm use 0.10

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

$ nvm use

หากต้องการดูรายการเวอร์ชันnode.js ที่ติดตั้งให้ใช้:

$ nvm ls

หากต้องการแสดงรุ่นที่สามารถติดตั้งได้:

$ nvm ls-remote

nvm-windows (Windows)

NVM หน้าต่างเป็นNode.jsยูทิลิตี้การจัดการรุ่นสำหรับ Windows, เขียนแดกดันในGo

มันไม่ได้เป็นสิ่งเดียวกับ NVM อย่างไรก็ตามการใช้งานเป็นตัวจัดการเวอร์ชันnode.jsคล้ายกันมาก

หากต้องการติดตั้งnvm-windowsจำเป็นต้องถอนการติดตั้งnode.jsและnpm เวอร์ชันก่อนหน้านี้ จากนั้นดาวน์โหลดและเรียกใช้โปรแกรมติดตั้งล่าสุดจากรุ่นต่างๆ

หากต้องการอัพเกรดnvm-windowsให้เรียกใช้ตัวติดตั้งใหม่ มันจะเขียนทับไฟล์ที่จำเป็นต้องอัพเดตอย่างปลอดภัยโดยไม่ต้องแตะการติดตั้งnode.jsของคุณ

nvm-windowsทำงานในเชลล์ผู้ดูแลระบบ คุณจะต้องเริ่มต้นPowershellหรือCommand Promptเป็นผู้ดูแลระบบที่จะใช้NVM หน้าต่าง

ก่อนที่จะใช้คุณอาจต้องเปิดใช้nvm-windowsด้วยคำสั่งต่อไปนี้:

C:\> nvm on

หากต้องการดาวน์โหลดและติดตั้งnode.jsและเวอร์ชันnpm ที่เจาะจงให้ใช้:

C:\> nvm install 0.12

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

C:\> nvm use 0.12

หากคุณต้องการดูรายการเวอร์ชันnode.js ที่ติดตั้งให้ใช้:

C:\> nvm list

หากต้องการแสดงรุ่นที่สามารถติดตั้งได้:

C:\> nvm list available

ฉันชอบคำตอบนี้ +1! แต่มันจะมีประโยชน์มากยิ่งขึ้นเมื่อใช้ร่วมกับคำอธิบายบางอย่างเกี่ยวกับตัวจัดการแพคเกจต่าง ๆ เช่น; ทำไมฉันจึงควรใช้อันอื่น ฉันจะช่วยให้บริบทจริงๆ ..
7wp

ด้วยคำสั่ง "การอัปเดตการกลั่น && การอัพเกรดโหนด", npm จะไม่ได้รับการอัปเดตเป็นเวอร์ชั่นล่าสุดตามที่ระบุไว้ "... NPM จะได้รับการอัปเดตเช่นกัน .. "
vikramvi

โดยทั่วไปแล้วฉันชอบ homebrew แต่ความจริงแล้วมันต้องมีการอัปเดตก่อนที่ฉันจะสามารถอัปเกรดnpmได้ช้าลงอย่างเจ็บปวด ...
Patrick Roberts

104

ตรวจสอบรุ่น NPM ของคุณก่อน

npm -v

1) อัปเดต NPM เป็นเวอร์ชันปัจจุบัน:

ดูเวอร์ชั่น NPM ที่คงที่:

npm view npm version

อัปเดต npm เป็นเวอร์ชันปัจจุบัน:

npm i -g npm


2) แสดงรายการเวอร์ชัน NPM ที่มีอยู่ทั้งหมดและทำการติดตั้ง / อัพเดต / ย้อนกลับแบบกำหนดเอง

ดูทุกรุ่นรวมถึง "alpha", "beta" และ "rc" (ตัวเลือกการเปิดตัว)

npm view npm versions --json

ติดตั้ง NPM อีกครั้งเป็นรุ่นเฉพาะที่เลือกจากรายการรุ่น - เช่น 5.0.3

npm i -g npm@5.0.3
  • การติดตั้งหนึ่งเวอร์ชันจะลบรุ่นที่ติดตั้งอยู่ในปัจจุบันโดยอัตโนมัติ

  • สำหรับ Linux และ iOS เพิ่มคำสั่งด้วยsudo


ฉันพบข้อผิดพลาดจำนวนมากรวมถึงการError: EACCES: permission denied, unlinkเรียกใช้คำสั่งด้านบนด้วยการsudoทำงาน
Imran Ali

57

การอัพเกรดสำหรับผู้ใช้ Windows

ผู้ใช้ Windows ควรอ่านการแก้ไขปัญหา> การอัพเกรดบน Windowsใน npm wiki

การอัปเกรดบน windows 10 โดยใช้ PowerShell (การแก้ไขโดยบุคคลที่สาม)

ลิงค์ด้านบนการแก้ไขปัญหา # upgrade-on-windowsชี้ไปที่หน้า github npm-windows-upgradeบรรทัดด้านล่างนี้เป็นเครื่องหมายคำพูดจาก readme ฉันอัพเกรดจาก npm 2.7.4 เป็น npm 3.9.3 สำเร็จแล้วโดยใช้โหนด v5.7.0 และ PowerShell (น่าจะเป็นรุ่น PowerShell 5.0.10586.122)

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

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

จากนั้นในการติดตั้งและใช้เครื่องมือตัวอัปเกรดนี้ให้เรียกใช้ (เช่นจาก PowerShell หรือ cmd.exe ที่มีระดับสูง):

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

หรือเพียงแค่เรียกใช้: ติดตั้ง npm -g npm
Gal Margalit

1
ไม่ Gal คุณสับสนกับปัญหาการรันการติดตั้ง npm -g npm ไม่ทำงานบน Windows คุณอ่านปัญหาที่ผู้ใช้ Windows มี (อยู่ในรายการด้านบนหรือไม่) ใช้วิธี Powershell ดังแสดงในคำตอบของ Surf ขอบคุณ smurf ในที่สุดก็จัดการเพื่ออัพเกรด yeeehaaaa!
Davet

55

ปรับปรุงครั้งแรกnpm,

npm install -g npm@next

จากนั้นอัปเดตnodeเป็นเวอร์ชันถัดไป

npm install -g node@nextหรือnpm install -g n@next ล่าสุดหรือ

npm install -g node@latest หรือ npm install -g node

ตรวจสอบหลังการติดตั้งเวอร์ชั่น

node --versionหรือ node -v


51

ใช้ง่ายนี้

npm i -g npm

นี่คือสิ่งที่ฉันได้รับการ promped บนคอนโซลของฉันจาก npm เมื่อมีการอัพเดท / แก้ไขข้อผิดพลาดใหม่:

ป้อนคำอธิบายรูปภาพที่นี่


1
หลังจากฉันวิ่งสิ่งนี้ฉันต้องออกจาก bash terminal และเริ่มต้นใหม่เพื่อดูการเปลี่ยนแปลง เนื่องจากpathการnpmเปลี่ยนแปลงในระหว่างขั้นตอนการปรับปรุงและด้วยเหตุผลบางอย่างมันยังคงดำเนินการรุ่นเก่าซึ่งแสดงให้เห็นรุ่นเก่าแน่นอนเมื่อคุณดำเนินการnpm -v
anon58192932

26
  • หากต้องการอัปเดตโหนดให้ใช้nvm (หรือnvmwสำหรับ windows)

  • เพื่อNPM ปรับปรุงที่npm update npm -gคำสั่งไม่ทำงานสำหรับฉัน (หน้าต่าง) สิ่งที่ทำงานได้รับการติดตั้งใหม่ npm ตามเอกสารประกอบ : " คุณสามารถดาวน์โหลดไฟล์ซิปได้จากhttps://npmjs.org/dist/และแตกไฟล์ในโฟลเดอร์เดียวกับที่ node.exe ใช้งานอยู่ " ตรวจสอบให้แน่ใจว่าคุณทำเช่นนี้หรือไม่ ที่คุณกำจัดการติดตั้งก่อนหน้าของคุณก่อน (แม้ว่าการเขียนทับมันอาจจะใช้ได้ ...

  • หากต้องการอัพเดตโมดูลของคุณให้ใช้คำสั่ง npm update


npm update npm -gทำงานให้ฉัน ฉันรัน OSx และมีการติดตั้งโหนดผ่าน homebrew อย่างไรก็ตาม brew upgrade nodeจะไม่ทำงานหากคุณมีเวอร์ชันโหนดล่าสุดที่ทำงานอยู่เหมือนที่ฉันทำ เค้กชิ้นส่วน '
jamesJosephFinn

npm install -g npm@latestทำงานกับฉันใน Windows8 stackoverflow.com/a/29023180/588759
rofrol


19

ลองรุ่นที่เสถียรล่าสุดของ npm

ดูรุ่นของ npm ที่คุณใช้อยู่:

npm -v

การอัพเกรดบน * ระวัง (OSX, Linux, ฯลฯ )

(คุณอาจต้องนำหน้าคำสั่งเหล่านี้ด้วยsudoโดยเฉพาะอย่างยิ่งบน Linux หรือ OS X หากคุณติดตั้ง Node โดยใช้ตัวติดตั้งเริ่มต้น)

คุณสามารถอัพเกรดเป็นเวอร์ชันล่าสุดของ npm โดยใช้:

npm install -g npm@latest

หรืออัปเกรดเป็นรุ่นล่าสุด:

npm install -g npm@next

การอัพเกรดบน Windows


โดยค่าเริ่มต้น npm ถูกติดตั้งพร้อมกับโหนดใน

C:\Program Files (x86)\nodejs

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

C:\Users\<username>\AppData\Roaming\npm)

เพราะตัวติดตั้งทำให้

C:\Program Files (x86)\nodejs

ก่อน

C:\Users\<username>\AppData\Roaming\npm

คุณPATHก็มักจะใช้รุ่นของ NPM ที่ติดตั้งกับโหนดแทนรุ่นของ NPM npm -g install npm@<version>ที่คุณติดตั้งโดยใช้

ในการหลีกเลี่ยงปัญหานี้คุณสามารถเลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:

  • ตัวเลือกที่ 1: การแก้ไขการติดตั้ง Windows ของคุณPATHจะใส่ก่อน%appdata%\npm %ProgramFiles%\nodejsโปรดจำไว้ว่าคุณจะต้องเริ่มต้นใหม่cmd.exe(และอาจเริ่ม Windows ใหม่) เมื่อคุณทำการเปลี่ยนแปลงPATHหรือติดตั้ง npm

  • ตัวเลือกที่ 2: ลบทั้งสองอย่าง

    • %ProgramFiles%\nodejs\npm
    • %ProgramFiles%\nodejs\npm.cmd
  • ตัวเลือก 3: นำทาง%ProgramFiles%\nodejs\node_modules\npmและคัดลอกnpmrcไฟล์ไปยังโฟลเดอร์อื่นหรือเดสก์ท็อป จากนั้นเปิดcmd.exeและเรียกใช้คำสั่งต่อไปนี้:

cd% ProgramFiles% \ nodejsnpm ติดตั้ง npm @ ล่าสุด

หากคุณติดตั้ง npm ด้วยตัวติดตั้ง node.js หลังจากทำหนึ่งในขั้นตอนก่อนหน้านี้ให้ทำดังต่อไปนี้

  • ตัวเลือก 1 หรือ 2

    • ไปลง%ProgramFiles%\nodejs\node_modules\npmและคัดลอกไฟล์ชื่อnpmrcในโฟลเดอร์ NPM %appdata%\npm\node_modules\npmใหม่ที่ควรจะเป็น สิ่งนี้จะบอกเวลาใหม่ที่มีแพคเกจติดตั้งส่วนกลาง
  • ตัวเลือก 3

    • คัดลอกไฟล์ npmrc กลับไปที่ %ProgramFiles%\nodejs\node_modules\npm

บันทึกย่อเกี่ยวกับการกำหนดค่า Windows ในตัว

ตัวติดตั้ง Node จะติดตั้งลงในโฟลเดอร์ npm โดยตรงซึ่งเป็นส่วนพิเศษของการกำหนดค่าเฉพาะของ Windows ที่บอก npm ว่าจะติดตั้งแพคเกจส่วนกลางได้อย่างไร เมื่อ npm ถูกใช้เพื่อติดตั้งตัวเองมันควรจะคัดลอกการbuiltinกำหนดค่าพิเศษนี้ลงในการติดตั้งใหม่ มีข้อผิดพลาดในบางเวอร์ชันของ npm ที่ทำให้สิ่งนี้ไม่ทำงานดังนั้นคุณอาจต้องเข้าไปแก้ไขด้วยตนเอง รันคำสั่งต่อไปนี้เพื่อดูว่า npm จะติดตั้งแพ็กเกจโกลบอลเพื่อตรวจสอบว่าถูกต้องหรือไม่

npm config get prefix -g

หากไม่ได้ตั้งค่าไว้<X>:\Users\<user>\AppData\Roaming\npmคุณสามารถเรียกใช้คำสั่งด้านล่างเพื่อแก้ไข:

npm config set prefix "${APPDATA}/npm" -g

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

npm config set prefix "${LOCALAPPDATA}/npm" -g

... รวมถึงการคัดลอก%APPDATA%\npmไปยัง%LOCALAPPDATA%\npm(และอัปเดต%PATH%หลักสูตรของคุณ)

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

ที่มา: https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm


16

ติดตั้ง npm =>sudo apt-get install npm

ติดตั้ง n =>sudo npm install n -g

โหนดรุ่นล่าสุด =>sudo n latest

โหนดเฉพาะรุ่นที่คุณสามารถทำได้

แสดงรายการโหนดเวอร์ชันที่พร้อมใช้งาน =>n ls

ติดตั้งรุ่นเฉพาะ =>sudo n 4.5.0


15

ฉันเพิ่งติดตั้ง Node.js บนเครื่อง Windows 7 ใหม่พร้อมกับผลลัพธ์ต่อไปนี้:

> node -v
v0.12.0
> npm -v
2.5.1

ฉันทำตามขั้นตอนที่อธิบายไว้ข้างต้นแล้ว:

> npm install -g npm

และมันอัพเกรดเป็น v2.7.3 ยกเว้นกว่าทำnpm -vยังให้ 2.5.1

ฉันไปที่แผงการกำหนดค่าระบบการตั้งค่าขั้นสูงตัวแปรสภาพแวดล้อม ฉันเห็นตัวแปร PATH เฉพาะสำหรับบัญชีผู้ใช้ของฉันนอกเหนือจากตัวแปรเส้นทางทั่วโลก
อดีตชี้ไปที่ใหม่ PM: C:\Users\PhiLho\AppData\Roaming\npm
หลังรวมถึงเส้นทางไปยังโหนด: C:\PrgCmdLine\nodejs\(ปัจจุบันฉันหลีกเลี่ยงการติดตั้งสิ่งใน Program Files และ derivates หลีกเลี่ยงช่องว่างในเส้นทางและการป้องกันที่ไร้ประโยชน์มีเสียงดัง saner ... )
ถ้าฉันwhich npm.cmd(ฉันมี ติดตั้งยูทิลิตี้ยูนิกซ์ ... ) มันชี้ไปที่หนึ่งในโหนด

อย่างไรก็ตามการแก้ไขนั้นง่ายมาก: ฉันเพิ่งคัดลอกพา ธ แรก (ไปยัง npm) ก่อนที่พา ธ ไปยังโหนดในตัวแปรเส้นทางหลักทั่วโลกและตอนนี้มันจะเลือกเวอร์ชันล่าสุด
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\

> npm -v
2.7.3

สนุก. :-)


15

ผมคิดว่าวิธีที่ดีที่สุดในการจัดการ Node.js คือการใช้NVM NVM ย่อมาจาก Node Version Manager

มันเป็นเครื่องมือที่ต้องมีสำหรับนักพัฒนา node.js!

คุณสามารถติดตั้ง NVM โดยใช้คำสั่งต่อไปนี้เปิดเทอร์มินัลและรันหนึ่งในสิ่งต่อไปนี้: -

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

หรือ

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

หลังจากติดตั้งสิ่งนี้ขอแนะนำให้ปิดเทอร์มินัลปัจจุบันและเปิดขึ้นใหม่เนื่องจาก NVM จะเพิ่มตัวแปรสภาพแวดล้อมบางอย่างดังนั้นเทอร์มินัลจะต้องเริ่มต้นใหม่

ฉันจะแสดงรายการคำสั่งพื้นฐานบางอย่างสำหรับการใช้ NVM

  • สิ่งนี้จะดึงข้อมูลโหนดทั้งหมดจากอินเทอร์เน็ต โหนดรุ่นทั้งหมดตั้งแต่เริ่มต้นจนถึงวันที่จะถูกแสดงนอกจากนี้ยังจะกล่าวถึงเวอร์ชัน LTS
nvm ls-remote 
  • สิ่งนี้จะติดตั้งเวอร์ชันโหนดที่คุณต้องการ (รับรายการเวอร์ชันโดยใช้คำสั่งด้านบน)
nvm install v10.15.1
  • คำสั่งนี้จะให้รายชื่อของรุ่นโหนดที่ติดตั้งไว้ในเครื่อง
nvm ls
  • คำสั่งนี้ใช้เพื่อลบเวอร์ชันโหนดที่คุณต้องการจากคอมพิวเตอร์ของคุณ
nvm uninstall v10.15.1
  • คำสั่งต่อไปนี้จะช่วยให้คุณอัพเกรดเป็นnpmเวอร์ชั่นล่าสุดที่ทำงานบนโหนดเวอร์ชันปัจจุบัน
nvm install-latest-npm
  • NVM สามารถใช้ในการจัดการหลายโหนดพร้อมกัน
  • นอกจากนี้ยังสามารถช่วยให้คุณติดตั้งnpmแพ็กเกจทั่วโลกทั้งหมดจากรุ่นหนึ่งไปยังอีกรุ่นหนึ่งแทนการติดตั้งด้วยตนเองในแต่ละแพ็คเกจ!
  • มีการใช้งานอื่น ๆ ของ nvm โดยมีรายละเอียดซึ่งสามารถพบคำสั่งได้ที่นี่Node Version Manager

14

สำหรับ Linux, OSX, ฯลฯ

หากต้องการติดตั้ง NPM เวอร์ชันล่าสุด

npm install -g npm@latest

หรือเพื่อติดตั้งรีลีสล่าสุด

npm install -g npm@next

เพิ่มเติม: เพื่อตรวจสอบรุ่น npm ของคุณ

npm -v

หากคุณอยู่ในเครื่อง Windows ฉันแนะนำให้ไปที่เว็บไซต์npm


ข้อแตกต่างระหว่างรุ่นล่าสุดกับรุ่นล่าสุดคืออะไร
Chris Lang

1
@Chris Lang ล่าสุดเป็นรุ่นใหม่ล่าสุด แต่รุ่นล่าสุดเป็นรุ่นเสถียรล่าสุด
Abhishta Gatya

14

เพียงรันคำสั่งต่อไปนี้ในเทอร์มินัลในฐานะผู้ดูแลระบบ:

npm i -g n
n stable
npm update -g npm

มันใช้งานได้สำหรับฉันบน Linux


12

ฉันเพิ่งเจอบทความนี้: http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/และผู้เขียนกล่าวถึง$ npm-check-updates -u && npm installการปรับปรุงการอ้างอิงทั้งหมด

นี่เป็นหัวข้อเล็กน้อย แต่ฉันลงเอยด้วยการค้นหาที่คล้ายกันดังนั้นจึงคิดว่ามันคุ้มค่ากับการแบ่งปัน


david-dm.orgและนี่เป็นเพียงความคิดเห็นจากโพสต์ที่ฉันอ้างถึง ดูเหมือนจะสมบูรณ์แบบ ...
Jason Lydon

11

บางครั้งการดาวน์โหลดเวอร์ชั่นล่าสุดจากhttp://nodejs.org/นั้นง่ายกว่า

โดยเฉพาะอย่างยิ่งเมื่อตัวเลือกอื่น ๆ ทั้งหมดล้มเหลว

http://nodejs.org/ -> คลิก INSTALL -> คุณจะมีโหนดและ npm ล่าสุด

! ง่าย


1
เรียบง่ายขึ้น แต่ไม่ได้ผลเสมอไป ฉันได้ต่อสู้กับข้อเสนอแนะทั้งหมดข้างต้นและบางอย่าง - ไม่มีการทำงานบน mac ของฉัน ไปที่ nodejs.org แก้ไขมัน
guya

1
ในกรณีนั้นคุณอาจติดตั้งมันในทางที่ผิดเริ่มต้นด้วย โหนด / npm เป็นหนึ่งในสิ่งที่คุณต้องการนำหน้าการติดตั้งของคุณดังนั้นคุณไม่จำเป็นต้องใช้ sudo สำหรับทุกสิ่ง
Brian Vanderbusch

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

1
ขอบคุณสำหรับสิ่งนี้ ฉันกำลังมีปัญหาในการรับข้อมูลล่าสุดและทำให้พลาดเมื่อฉันลบแคช npm โดยไม่รู้ตัวใช่ ต้อง (อีกครั้ง) ติดตั้ง msi (บน Windows) เพื่อรับการปรับปรุงอย่างสมบูรณ์ ทำงานได้อย่างสมบูรณ์แบบ
JasonH

หากคุณใช้ OS X หรือ Windows วิธีที่ดีที่สุดในการติดตั้งหรืออัปเดต Node.js และ npm คือการใช้หนึ่งในตัวติดตั้งจากลิงค์ดาวน์โหลด Node.js เมื่อฉันถูกดาวน์โหลดและแตกไฟล์มันก็แค่อัปเดตโหนดและ npm เวอร์ชั่นสำหรับ macbook pro os x 10.13 ของฉัน
Kuhan

10

เพียงแค่ได้ฟังการให้สัมภาษณ์กับทีม NPM ในตอนล่าสุดของnodeupและพวกเขาแนะนำไม่ได้ใช้updateสำหรับการปรับปรุงจากไป1.x 2.xให้ใช้: npm install npm -g



9

หากต้องการอัปเดต npm:

npm install npm@{version} -g

เพื่ออัปเดต npm เป็นเวอร์ชันล่าสุด:

npm install npm@latest -g

และเพื่อตรวจสอบเวอร์ชั่น:

npm -v

เพื่ออัพเดตโหนด js:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

เพื่อตรวจสอบ :

node -v

8

สำหรับ nodejs ควรถอนการติดตั้งและดาวน์โหลดเวอร์ชันที่คุณชื่นชอบจาก nodejs.org สำหรับ npm ที่ทำงานด้านล่างบรรทัดใน cmd:

npm i npm

8

เมื่อมาถึงLinuxฉันแนะนำโหนดปรับปรุงโดยใช้ตัวจัดการแพคเกจ:

Node มาพร้อมกับ npm ที่ติดตั้งไว้ล่วงหน้า แต่ตัวจัดการถูกอัพเดตบ่อยกว่า Node รัน npm -v เพื่อดูเวอร์ชันที่คุณมีจากนั้นnpm install npm@latest -gติดตั้งการอัพเดต npm ใหม่ล่าสุด วิ่งnpm -vอีกครั้งหากคุณต้องการให้แน่ใจว่ามีการอัปเดต npm อย่างถูกต้อง

หากต้องการอัปเดตNodeJSคุณจะต้องมีโมดูล n ประโยชน์ของ npm เรียกใช้รหัสนี้เพื่อล้างแคชของ npm ติดตั้ง n และติดตั้งรุ่นเสถียรล่าสุดของNode:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

n latestการติดตั้งรุ่นล่าสุดใช้ หรือคุณสามารถเรียกใช้ n #. #. # เพื่อรับNodeรุ่นที่เฉพาะเจาะจง


เมื่อพูดถึงWindows/ macOSฉันแนะนำให้ใช้โปรแกรมติดตั้งบน Nodejs.org

หน้าดาวน์โหลด Node.js มีแพ็คเกจไบนารีสำหรับ Windows และ macOS - แต่ทำไมทำให้ชีวิตของคุณยากขึ้น? โปรแกรมติดตั้งสำเร็จรูป - .msi สำหรับ Windows และ. pkg สำหรับ macOS - ทำให้กระบวนการติดตั้งมีประสิทธิภาพและเข้าใจได้อย่างไม่น่าเชื่อ ดาวน์โหลดและเรียกใช้ไฟล์และให้ตัวช่วยการติดตั้งดูแลส่วนที่เหลือ ด้วยการอัพเดทที่ดาวน์โหลดแต่ละครั้ง Node และ npm เวอร์ชั่นใหม่จะแทนที่เวอร์ชั่นเก่ากว่า

อีกทางหนึ่งผู้ใช้ macOS สามารถใช้คำสั่ง npm และ n ด้านบน


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

ก่อนที่จะมีใครทำอย่างนั้นฉันขอแนะนำให้ตรวจสอบpackage.jsonไฟล์ของคุณก่อนดังนี้:

ในฐานะผู้ใช้แพ็คเกจ NodeJS คุณสามารถระบุประเภทการอัปเดตที่แอปของคุณสามารถยอมรับได้ในไฟล์ package.json ตัวอย่างเช่นหากคุณเริ่มต้นด้วยแพ็คเกจเวอร์ชัน 1.0.4 นี่คือวิธีที่คุณสามารถระบุช่วงการอัปเดตที่อนุญาตในสามวิธีพื้นฐาน:

ในการอนุญาตให้ใช้การปรับปรุงแพตช์ : 1.0 หรือ 1.0.x หรือ ~ 1.0.4
เพื่ออนุญาตการเผยแพร่ย่อย : 1 หรือ 1.x หรือ ^ 1.0.4
เพื่ออนุญาตการเผยแพร่รุ่นใหญ่ : * หรือ x

คำอธิบาย:

รุ่น MAJORเมื่อมีการเปลี่ยนแปลง API ที่เข้ากันไม่ได้ ->~

MINORรุ่นเมื่อมีการเพิ่มฟังก์ชั่นในลักษณะที่เข้ากันได้ย้อนหลัง ->^

รุ่น PATCHสำหรับเมื่อแก้ไขข้อผิดพลาดที่เข้ากันได้ย้อนหลังจะทำ ->*


6

นอกจากนี้หากคุณต้องการอัปเดตเป็นรุ่นใดรุ่นหนึ่งให้ทำตามนี้:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>

2
npm WARN using --force I sure hope you know what you are doing.
Jeff

6

สำหรับผู้ใช้Cygwin :

การติดตั้งn (ตัวจัดการเวอร์ชันโหนด) ในCygwinไม่ทำงานแทนที่จะอัพเดตโหนดด้วย:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

ใช่คุณต้องติดตั้งwgetก่อน


6

ใช้โมดูล n จาก npmเพื่ออัพเกรดโหนด n คือแพ็กเกจผู้ช่วยโหนดที่ติดตั้งหรืออัพเดตเวอร์ชัน node.js ที่กำหนด

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

โปรดทราบว่าการติดตั้งเริ่มต้นสำหรับ nodejs อยู่ใน / usr / bin / nodejs และไม่ใช่ / usr / bin / node

หากต้องการอัพเกรดเป็นเวอร์ชั่นล่าสุด (และไม่ใช่เวอร์ชั่นที่เสถียรในปัจจุบัน) คุณสามารถใช้

sudo n latest

วิธียกเลิก:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

หากคุณได้รับข้อผิดพลาดต่อไปนี้bash: /usr/bin/node: No such file or directoryแสดงว่าเส้นทางที่คุณป้อน

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

ถ้าผิด เพื่อให้แน่ใจว่าได้ตรวจสอบว่า update nodejs ถูกติดตั้งที่พา ธ ด้านบนและเวอร์ชันที่คุณป้อนนั้นถูกต้อง

ผมจะแนะนำอย่างยิ่งกับการทำเช่นนี้ในการผลิตเช่น มันสามารถทำสิ่งต่าง ๆ อย่างจริงจังกับแพคเกจ npm ทั่วโลกและความสามารถในการติดตั้งใหม่


6

คำเตือน: หากคุณต้องการอัปเดตโหนดจากเวอร์ชั่นเก่า (ในกรณีของฉันv4.6.0) มันจะดีกว่าที่จะติดตั้งใหม่ nodejs ตั้งแต่เริ่มต้น (ลิงค์ดาวน์โหลด: https://nodejs.org ) มิฉะนั้น npm จะอัปเดตตัวเองเป็นรุ่นที่เข้ากันไม่ได้ ด้วยโหนดใหม่ (ดูการสนทนานี้ )

นี่คือข้อความแสดงข้อผิดพลาดที่ฉันได้รับหลังจากอัปเดต Node (บน Windows) ด้วย npm

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

หลังจากการติดตั้งใหม่ npm ทำงานอีกครั้ง:

$ npm -v
6.5.0
$ node -v
v10.15.0

npm install -g npm stableโรงงาน คำตอบง่ายๆ
Neel


5

ฉันพบปลั๊กอินหนึ่งตัวซึ่งสามารถช่วยในการอัปเดตแพ็กเกจ npm ทั้งหมด

ก่อนอื่นคุณต้องติดตั้งปลั๊กอิน npm-check-updates เป็นลิงค์npm-check-updates

npm i -g npm-check-updates

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

1) ที่ncu -u นี่ ncu คือ npm ตรวจสอบการอัปเดต

2) npm install

ดังนั้นด้วยสองคำสั่งนี้คุณสามารถอัปเดตแพคเกจ npm ได้อย่างง่ายดายฉันหวังว่านี่จะช่วยให้คุณอัปเดตแพ็กเกจได้อย่างง่ายดาย


@MM อาจเป็นไปได้ว่าในโครงการของคุณไม่มีไฟล์ package.json โปรดตรวจสอบก่อน
Arjun

คุณไม่ได้ "ต้อง" npm-check-updatesในการติดตั้ง นี่เป็นเพียงวิธีการแก้ปัญหาที่ใช้แพ็คเกจที่ผู้ใช้ทำขึ้น
mesqueeb

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