ฉันจะใช้ nvm เพื่อจัดการ node.js ที่ติดตั้งในเครื่องหลายรายการได้อย่างไร

ฉันติดตั้ง node.js หลายเวอร์ชันในเครื่องในกล่อง x-Linux ของฉันแล้ว 0.10.40, 0.12.7 และ 4.0

โปรไฟล์เริ่มต้นของฉันชี้ไปที่ node.js 0.12.7 ขณะนี้ ฉันตั้งค่า PATH ให้ชี้ไปยังโหนดเวอร์ชันต่างๆ เมื่อฉันเริ่มเทอร์มินัลใหม่

ฉันต้องการใช้ตัวจัดการเวอร์ชันของโหนดเพื่อใช้และจัดการเวอร์ชันอื่นของโหนดที่ติดตั้งไว้แล้วในสภาพแวดล้อมของฉัน

ฉันควรทำอย่างไรโดยไม่ต้องติดตั้งโหนดใหม่อีกครั้ง


person hohoho    schedule 24.09.2015    source แหล่งที่มา
comment
AFAIK nvm รักษาเวอร์ชันของโหนดไว้ในตำแหน่งของตัวเองเพื่อให้สามารถจัดการได้ ดังนั้นฉันสงสัยว่าคุณจะสามารถนำเวอร์ชันที่ดาวน์โหลดไปแล้วกลับมาใช้ซ้ำได้หรือไม่ แต่ปัญหาคืออะไร--การดาวน์โหลดใช้เวลาสองสามสิบวินาที   -  person    schedule 24.09.2015
comment
เป็นไปไม่ได้ --โปรดดู github.com/creationix/nvm/issues/848   -  person hohoho    schedule 25.09.2015
comment
หากบัญชีผู้ใช้แต่ละบัญชีดาวน์โหลดสำเนาโหนดของตนเอง แสดงว่าเป็นการทำซ้ำทรัพยากร โดยเฉพาะอย่างยิ่งหากเรามีบัญชีผู้ใช้จำนวนมากในเครื่อง   -  person hohoho    schedule 25.09.2015
comment
หากบัญชีผู้ใช้แต่ละบัญชีดาวน์โหลดสำเนาโหนดของตนเอง แสดงว่าทรัพยากรนั้นถูกทำซ้ำ โดยเฉพาะอย่างยิ่งหากเรามีบัญชีผู้ใช้จำนวนมากในเครื่องหนึ่ง แนวทางที่ดีที่สุดอาจเป็นให้ผู้ดูแลระบบติดตั้ง nvm บน /shared location และติดตั้งเวอร์ชันโหนดทั้งหมดโดยใช้การติดตั้ง nvm จากนั้นแต่ละบัญชีก็จะใช้ nvm   -  person hohoho    schedule 25.09.2015


คำตอบ (2)


ตอบกระทู้เดิมครับ

สำหรับข้อมูลจำนวนเล็กน้อยที่คุณประหยัดได้โดยทำตามขั้นตอนต่อไปนี้ แทบจะไม่คุ้มเลย ที่ถูกกล่าวว่า...

ค้นหาตำแหน่งที่เก็บเวอร์ชันปัจจุบันไว้ใน nvm:

> nvm which
# mac
/Users/[username]/.nvm/versions/node/[version]/bin/node
# linux
/home/[username]/.nvm/versions/node/[version]/bin/node

ค้นหาโหนดเวอร์ชันที่ไม่ใช่ nvm ที่ติดตั้งทั้งหมดของคุณ:

> which -a node

(..ระหว่างที่คุณใช้งานเทอร์มินัลแต่ละเทอร์มินัลสำหรับโหนดแต่ละเวอร์ชันที่ติดตั้งอยู่ จะบอกได้ว่าคำสั่งนี้จะมีประสิทธิภาพเพียงใด)

จากนั้นสัญลักษณ์จะลิงก์แต่ละรายการไปยังโฟลเดอร์ที่ตรงกับเวอร์ชัน

> ln -s /path/to/node/version ~/.nvm/versions/node/[version]
# `$HOME` or `~/` or `/Home/username/` ... you know which works.

การสลับโหนดและเวอร์ชันทำได้ง่าย

ติดตั้งโหนดเวอร์ชันที่ควบคุมด้วย nvm แล้ว

> nvm ls
       v0.10.33
       v0.10.36
       v0.10.40
         v4.0.0
         v4.2.2
         v5.0.0
->       v5.1.1
         system
default -> v5.1.1
system -> v5.1.1
node -> stable (-> v5.1.1) (default)
stable -> 5.1 (-> v5.1.1) (default)
iojs -> N/A (default)

ติดตั้งเวอร์ชัน x, x.y หรือ x.y.z: nvm install x.y.z เช่น:

> nvm install 4.2.2

# If you want all modules from another version too:
> nvm install 4.2.2 --reinstall-packages-from=0.10.40

ตั้งค่าเวอร์ชันเริ่มต้นที่ใช้:

> nvm use 5.1.1

# But if only a local node command required, use:
# nvm exec [version] [command]
> nvm exec 0.10.33 node server.js

.nvmrc ในรูทโปรเจ็กต์เพื่อกำหนดเวอร์ชันท้องถิ่นของโหนดที่จะใช้

#.nvmrc file contents:
5.1.1
person greg.arnott    schedule 17.12.2015

คุณไม่สามารถใช้เวอร์ชัน nodejs ที่ติดตั้งกับ nvm ได้ เนื่องจาก nvm ใช้ไดเร็กทอรีของตัวเองสำหรับจัดการเวอร์ชัน

คุณเพียงแค่ต้องติดตั้งเวอร์ชันโหนดใหม่

nvm install 0.12.7

แล้ว

nvm use 0.12.7
person Alireza Davoodi    schedule 24.09.2015
comment
ใช่ ฉันเข้าใจวิธีการทำงานของ nvm แค่ลองดูว่ามันเป็นไปได้ที่จะเข้ากับประเพณีของเราหรือไม่ ขอบคุณสำหรับข้อมูลของคุณ. - person hohoho; 25.09.2015