วิธีอัปเดต npm


125

ฉันกำลังพยายามติดตั้งแผ่นสำเร็จรูป mean.io sudo npm install -g meanio@latestมันล้มเหลวเมื่อทำงาน ก่อนที่จะล้มเหลวโปรดทราบว่า 'ต้องการ' npm เวอร์ชัน 1.4.x ในขณะที่ฉันติดตั้ง 1.2.18 แล้ว ดังนั้นฉันจึงลองอัปเดต npm เป็นเวอร์ชันล่าสุด หลายวิธี สุดท้ายคือ ...

ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm

ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18

เหตุใดจึงยังคงแสดงเวอร์ชัน 1.2.18 เมื่อฉันเพิ่งอัปเดตเป็น 1.4.7


12
อยsudo npm update npm -g
ทิม

1
หากคุณสามารถเสี่ยงต่อการใช้ PPA ที่ไม่รองรับได้ให้ลองLaunchpad.net/~chris-lea/+archive/node.js
TeTeT

sudo npm ติดตั้ง npm -g ช่วยฉัน
thinklinux


สิ่งนี้ควรอยู่ในAsk Ubuntu
Ulysse BN

คำตอบ:


189

สิ่งนี้จะอัปเดตnpmโดยใช้npmเอง:

sudo npm install npm -g

sudo npm update npm -gหากคุณติดลอง เครดิตทั้งหมดตกเป็นของ Tim Castelijns ฉันได้ทดสอบบน ubuntu 14.04, npm 1.3.10


โปรดทราบว่าหากคุณใช้nvmเพื่อจัดการหลายเวอร์ชันในสภาพแวดล้อม dev ในเครื่องของคุณเพื่อวัตถุประสงค์ในการทดสอบเช่นเวอร์ชันที่ติดตั้งทั้งหมด (แสดงรายการโดยnvm ls) จะอยู่ใน ~ / .nvm ดังนั้นคุณจึงละเว้นการติดตั้งทั้งระบบ (เช่นละเว้น sudo):

npm install npm -g

รัฐวิสาหกิจเดเบียน

สำหรับแนวทางปฏิบัติขององค์กรเต็มรูปแบบให้พิจารณาที่nodesource.com :

curl -sL https://deb.nodesource.com/setup | sudo ทุบตี -

ตามที่อธิบายไว้ที่นี่

องค์กรอื่น ๆ

สำหรับการแจกแจงที่ไม่ใช่เดเบียนโปรดดูที่โหนดgithub wiki https://github.com/joyent/node/wiki/installing-node.js-via-package-managerหน้าดาวน์โหลดhttps://nodejs.org/en/download /

เพื่อความเข้าใจประวัติศาสตร์: Chis ทุ่งหญ้าได้รับการรักษา PPA ของเขา แต่ตอนนี้เข้าร่วมกองกำลังกับnodesource


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

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

ฉันไม่เห็นด้วย. คุณไม่ต้องการให้ dev แตกต่างจากการใช้งานจริงหรือคุณจะพบปัญหาการปรับใช้สำหรับเวอร์ชันต่างๆ
henry74

1
อีกครั้งขึ้นอยู่กับว่าคุณหวาดระแวงเพียงใดการไว้วางใจ PPA ของ Chis Lea อาจเป็นเรื่องที่น่าสงสัย มีการตัดสินใจที่เป็นไปได้เสมอเกี่ยวกับจำนวนการอ้างอิงที่สำคัญในโครงการเพียงแค่ถ่ายเป็นสำเนาในเครื่อง หากคุณไม่ได้ทำงานในธนาคาร แต่ทำโครงการโอเพ่นซอร์สคุณอาจไม่มีการผลิตที่ต้องกังวล :) ฉันจะเชื่อมโยงโหนดวิกิที่นี่เพียงแค่แสดงรายการทางเลือกทั้งหมด โดยส่วนตัวแล้วฉันไม่ใช่แท็ก PPA เทียบกับ github ขนาดใหญ่เมื่อพูดถึงการแจกจ่ายโค้ด
Yauhen Yakimovich

ไม่ต้องใช้ PPA ของ Chris ใช้อย่างเป็นทางการจากแหล่งโหนด
henry74

44

หากคำตอบของ user3223763 ไม่ได้ผลคุณสามารถลองสิ่งนี้:

sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

จากนั้น:

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh

หลังจากนี้ให้เปิดเทอร์มินัลใหม่และตรวจสอบเวอร์ชัน npm:

npm --version

แก้ไข / ปรับปรุง:

วันนี้เวอร์ชัน nvm สุดท้ายคือ:

https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh

ดังนั้นคำสั่ง CURL คือ: v0.25.4 แทนที่จะเป็น v0.13.1

curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh

คุณสามารถตรวจสอบhttps://github.com/creationix/nvm/releasesเพื่อใช้เวอร์ชันที่ถูกต้องสำหรับการอัพเกรดเพิ่มเติม


3
user3223763 ใช้ไม่ได้สำหรับฉันและไม่ได้อัปเดต npm ด้วยตนเอง ขอบคุณ Daniel
hectorg87

3
ฉันสามารถยืนยันว่าวิธีนี้ช่วยอัปเดต npm วิธีการก่อนหน้านี้มีไลบรารีที่ไม่ได้รับการอ้างอิงหรือจะอัปเดต npm แต่จะไม่อัปเดตเส้นทาง / สภาพแวดล้อมเพื่อใช้ตำแหน่งใหม่
will824

สิ่งนี้ใช้ได้กับฉันเช่นกันคำตอบอื่น ๆ ไม่ได้ใช้บน Ubuntu 14.0.4
islanddave

1
สิ่งนี้ใช้ได้ผลสำหรับฉันโดยใช้ Ubuntu 14.04 ที่ติดตั้งบน Chromebook พร้อม Crouton ไม่มีอะไรอื่นที่ฉันพบทางออนไลน์
Niall

18

อย่าลืมปิดและเปิดหน้าต่างเทอร์มินัลอีกครั้ง;)

(อย่างน้อยถ้าคุณต้องการตรวจสอบ "npm --version" ในเทอร์มินัล)

sudo npm install npm -g

นั่นก็เป็นเคล็ดลับสำหรับฉันเช่นกัน


13

ดูเหมือนว่าคุณกำลังใช้ Ubuntu (จากบรรทัดคำสั่งที่คุณแสดง) ในการอัปเดตnpmและnodejsคุณสามารถใช้ที่เก็บ PPA:

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

1
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. สำหรับ Ubuntu 18.04
anon58192932

Err: 11 ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release 404 Not Found [IP: 91.189.95.83 80]
Kiran Reddy

1
เพื่อกำจัดข้อผิดพลาดที่น่ารำคาญให้รัน: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

ลองใช้ตัวเลือกด้านบนบน Ubuntu 14.04 แต่พวกเขาจะสร้างข้อผิดพลาดนี้อย่างต่อเนื่อง:

npm ผิดพลาด! tar pack อ่านข้อผิดพลาด /root/tmp/npm-15864/1465947804069-0.4854120113886893/package

จากนั้นพบวิธีแก้ปัญหานี้ทางออนไลน์:

1) ล้างแคชของ npm ก่อน:

sudo npm cache clean -f

2) ติดตั้งnโมดูลของ npm:

sudo npm install -g n

3) เริ่มการติดตั้งโดยเลือกเวอร์ชันของโหนดที่จะติดตั้ง: เสถียรหรือล่าสุดเราจะใช้เสถียรที่นี่:

sudo n stable

4) ตรวจสอบเวอร์ชันของโหนด:

node -v

5) ตรวจสอบเวอร์ชันของ npm:

npm -v

คำตอบนี้อาจใช้การขยายเพื่ออธิบายว่าคำสั่งที่ชัดเจนน้อยกำลังทำอะไรอยู่
Madbreaks

6

หากต้องการรับเวอร์ชันเสถียรล่าสุดให้เรียกใช้

npm install npm@latest -g

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





1
npm i -g npm

      Update available 4.5.0 → 4.6.1    │
   │     Run npm i -g npm to update 

นี่คือสิ่งที่ npm แนะนำเมื่ออยู่ในเทอร์มินัลชิ้นที่สองจะถูกคัดลอกและวางโดยตรงจากเทอร์มินัลของฉัน

หมายเหตุ: ฉันใช้ Mac


คำถามนี้เกี่ยวกับ ubuntu โดยเฉพาะไม่ใช่ osx หากฉันลองใช้คำสั่งของคุณใน ubuntu npmจะล้มเหลวด้วย Error: Cannot find module 'process-nextick-args'. คุณควรลบคำตอบของคุณ
Anthony Kong

1

ตรวจสอบเวอร์ชันโหนดของคุณ node -vและเวอร์ชันnpmของคุณnpm -vจากนั้นหากต้องการอัปเดตnpmให้พิมพ์สิ่งนี้ลงในเทอร์มินัลของคุณ: sudo npm install npm @ latest -g

หมายเหตุ: ระบบปฏิบัติการที่ใช้ Debian {ubuntu หรือ Linux mint}


1

NPM $ sudo npm install npm -gกำลังจะกลับรุ่นเก่าหลังจากทำงาน

การรีสตาร์ทเทอร์มินัล (เช่นปิดและเปิดอีกครั้ง) แก้ไขปัญหาสำหรับฉันและ $ npm --versionเริ่มส่งคืนเวอร์ชันที่คาดไว้

* @Rimian กล่าวถึงความจำเป็นในการโหลดเทอร์มินัลใหม่ในความคิดเห็นของคำตอบอื่น


0

ในกรณีที่คุณต้องการอัปเดต npm เป็นเวอร์ชันเฉพาะคุณสามารถใช้สิ่งนี้:

npm install npm@version-number


0

ตรวจสอบเวอร์ชันโหนดnode -vและเวอร์ชันnpm ของคุณnpm -v จากนั้นหากต้องการอัปเดต npm ให้พิมพ์สิ่งนี้ลงในเทอร์มินัลของคุณ: npm install npm@latest -g

หวังว่าฉันจะช่วยได้ ความนับถือ





-1

สำหรับ Ubuntu 18.04

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

ฉันหวังว่าสำหรับคุณเช่นกัน

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