Node Version Manager install - ไม่พบคำสั่ง nvm


303

ฉันพยายามติดตั้ง NVM ตามคำแนะนำเหล่านี้

ฉันพิมพ์คำสั่งนี้ใน terminal:

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

หลังจากรันการติดตั้งฉันรีสตาร์ทเทอร์มินัลและพยายามติดตั้ง Node.js ด้วยคำสั่งนี้:

$ nvm install 0.8

แต่ฉันได้รับคำตอบ:

-bash: nvm: command not found

ฉันไม่แน่ใจว่าฉันทำอะไรผิดที่นี่

ข้อมูลเพิ่มเติม--

ฉันกำลังมองหาวิธีแก้ไขปัญหาจากโพสต์และฟอรัมอื่น ๆ ฉันพบวิธีแก้ไขปัญหาอื่นที่ใช้

$ git clone git://github.com/creationix/nvm.git ~/.nvm

แต่นี่จะหมดทุกครั้งที่ฉันพยายาม ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ

คำตอบ:


369

ตรวจสอบของคุณ.bash_profile, .zshrcหรือ.profileไฟล์ คุณมักจะมีปัญหาระหว่างการติดตั้ง

คุณควรมีดังต่อไปนี้ในตอนท้ายของหนึ่งในไฟล์เหล่านั้น

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

. $HOME/.nvm/nvm.shเป็นเช่นเดียวกับsource $HOME/.nvm/nvm.sh

ดู: การจัดหาไฟล์

คุณสามารถตรวจสอบเพื่อดูว่าคุณมี.nvmโฟลเดอร์หรือไม่

ls -a | grep .nvm

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

git clone http://github.com/creationix/nvm.git .nvm

2
.nvmควรจะไดเรกทอรี git clone git://github.com/creationix/nvm.git $NVM_TARGETมันติดตั้งผ่านคำสั่งต่อไป คุณบอกว่าก่อนหน้านี้คุณพยายามเรียกใช้คำสั่งนั้นด้วยตัวเองและมันล้มเหลว? เป็นไปได้ว่าคุณอยู่หลังพรอกซีและไม่ได้กำหนดค่าไว้ ลองเรียกใช้การติดตามแทน git clone http://github.com/creationix/nvm.git .nvm
travis

21
ยังมีบรรทัด แต่งาน 'source ~ / .nvm / nvm.sh'
K - ความเป็นพิษใน SO กำลังเพิ่มขึ้น

2
หากโฟลเดอร์. nvm ว่างเปล่าอาจเป็นเพราะการดึงข้อมูลซื้อคืนล้มเหลวเนื่องจากไม่ยอมรับใบอนุญาตข้อตกลง xcode การเรียกใช้sudo xcodebuild -licenseและยอมรับใบอนุญาต (โดยการผลักดันspaceให้ถึงจุดสิ้นสุดของสิทธิ์การใช้งานและเพื่อยอมรับข้อกำหนด) จะเป็นการหลอกลวง
Pierre Criulanscy

4
นอกจากนี้คุณยังอาจต้องsource .bashrcหรือsource .profileขึ้น
เฮนรี่ Tseng

1
ไฟล์เหล่านั้นส่วนใหญ่จะมีอยู่ในบ้านของคุณ source $HOME/.bashrcเป็นต้น
travis

634

ฉันคิดว่าคุณพลาดขั้นตอนนี้:

source ~/.nvm/nvm.sh

คุณสามารถรันคำสั่งนี้บน bash หรือคุณสามารถวางไว้ในไฟล์ /.bashrc หรือ ~ / .profile หรือ ~ / .zshrc เพื่อโหลดโดยอัตโนมัติ

https://github.com/creationix/nvm


5
มาทำให้เอกสารดีขึ้น ฉันได้สร้างปัญหาใน repo nvm: github.com/creationix/nvm/issues/748
Jonny Burger

3
ฉันดำเนินการนี้ด้วยตนเองหลายครั้งจนในที่สุดก็ใส่ไว้ใน. bashrc ของฉัน!
เบรดี้ดาวลิ่ง

2
สิ่งนี้ใช้ได้สำหรับฉัน แต่เพื่อให้เป็นแบบอัตโนมัติฉันต้องสร้างโปรไฟล์ก่อน "touch ~ / .profile", "open ~ / .profile" วางข้างบนบันทึก + ปิด ทำงานในหน้าต่างใหม่ตอนนี้
Sonic Soul

6
การเพิ่มลงใน~/.bash_profileเป็นสิ่งที่ใช้ได้ผลกับฉัน
spencer.sm

6
สิ่งนี้ใช้ได้สำหรับฉัน ฉันเพิ่มsource ~/.nvm/nvm.shของฉัน~/.zshrcและตอนนี้nvmทำงานทุกครั้ง
Eddy Vinck

88

สิ่งนี้ใช้ได้กับฉัน:

  1. ก่อนทำการติดตั้งnvmให้รันโปรแกรมนี้ในเทอร์มินัล:touch ~/.bash_profile

  2. หลังจากนั้นให้รันสิ่งนี้ในเทอร์มินัล:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. สำคัญ ... - อย่าลืมรีสตาร์ทเครื่องหรือใช้คำสั่งsource ~/.nvm/nvm.sh(สิ่งนี้จะรีเฟรชคำสั่งที่มีอยู่ในเส้นทางระบบของคุณ)

  4. ในเทอร์มินัลใช้คำสั่งnvm --versionและคุณควรเห็นเวอร์ชัน


8
3) อย่าลืมรีสตาร์ทองค์ประกอบสำคัญของเทอร์มินัล! นั่นเป็นสาเหตุที่ฉันไม่ทำงาน ขอบคุณ
เซบาสเตียน

1
หนึ่ง "รีสตาร์ท [พวกเขา] องค์ประกอบที่สำคัญขั้ว"?
Edward

46

source ~/.nvm/nvm.sh เพิ่มบรรทัดนี้ใน ~ / .bashrc, ~ / .profile หรือ ~ / .zshrc


4
นี่คือทางออก "ถาวร" ที่กินเวลาหลายครั้งหรือหลายครั้ง
ahnbizcad

นี่เป็นคำตอบเดียวที่จะได้ผล แม้หลังจากเปิดเทอร์มินัลหลายครั้ง สุดท้ายอย่าลืมรีสตาร์ทเครื่องเมื่อคุณทำเช่นนี้ :)
coderpc

40

คำตอบที่รวดเร็ว

คิดออกดังต่อไปนี้:

  1. เชลล์ตัวไหนที่คุณใช้เทอร์มินัลพิมพ์: echo $0เพื่อหา (ใช้งานได้ปกติ)
  2. ไฟล์เริ่มต้นใดที่เชลล์โหลดเมื่อเริ่มต้น(ไม่ใช่ไฟล์เริ่มต้นเชลล์เข้าสู่ระบบซึ่งเป็นไฟล์เริ่มต้นเชลล์ปกติ , มีความแตกต่าง!)
  3. เพิ่ม source ~/.nvm/nvm.shไปยังไฟล์นั้น (สมมติว่าไฟล์นั้นมีอยู่ในตำแหน่งนั้นเป็นตำแหน่งติดตั้งเริ่มต้น)
  4. เริ่มเซสชันเทอร์มินัลใหม่
  5. กำไร?

ตัวอย่าง

ตามที่คุณเห็นมันระบุzshและไม่bashและไม่ได้ ป้อนคำอธิบายรูปภาพที่นี่

ในการแก้ไขปัญหานี้ผมจำเป็นที่จะเพิ่มsource ~/.nvm/nvm.shไป~/.zshrcเป็นไฟล์เมื่อเริ่มต้นใหม่เทอร์มินัลของฉัน Deepin zsh อ่าน~/.zshrcและไม่ bashs~/.bashrcbashs

ทำไมสิ่งนี้ถึงเกิดขึ้น

สิ่งนี้เกิดขึ้นเพราะเมื่อติดตั้ง NVM มันจะเพิ่มรหัสไป~/.bashrcตามเทอร์มินัล Deepin Terminal ของฉันใช้zshและไม่bashเคยอ่าน~/.bashrcและไม่โหลด NVM

กล่าวอีกนัยหนึ่ง: นี่เป็นความผิดของ NVM

เพิ่มเติมเกี่ยวกับzshสามารถอ่านได้บนหนึ่งในคำตอบที่นี่


คุณสามารถวาง zsh ไว้ท้ายคำสั่ง curl เช่น: curl raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar

22

ใน macOS ฉันต้องใช้source ~/.nvm/nvm.shคำสั่งเพื่อแก้ไขปัญหานี้

หลังจากนั้นเพิ่มบรรทัดเหล่านี้

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

ลงบน~/.bash_profileเพื่อให้ nvm จะถูกจัดหาโดยอัตโนมัติเมื่อเข้าสู่ระบบ


11

คำตอบทั้งหมดของคำถามนี้มีประโยชน์ โดยเฉพาะคำตอบที่ได้รับจาก Travis ช่วยฉัน สำหรับผู้ใช้ Mac OS X ฉันต้องการให้ขั้นตอนบางอย่างซึ่งจะช่วยให้พวกเขาทำงานกับการติดตั้งใหม่ของ Node Version Manager aka nvm

การติดตั้ง & การใช้ nvm บน Mac OS X

นี่คือขั้นตอนสำหรับการติดตั้ง nvm ใหม่และใช้งานโดยไม่มีปัญหาใด ๆ :

  • homebrew ติดตั้งจากที่นี่
  • การใช้ homebrew install nvm

    brew update brew install nvm

  • สร้าง.nvmไดเรกทอรีที่~/.nvmตำแหน่ง

    mkdir ~/.nvm

  • ตอนนี้ถ้าคุณไม่มี.bash_profileการตั้งค่าไฟล์สำหรับเทอร์มินัล OS X โปรดสร้าง a .bash_profileที่ระดับรูท:

    nano ~/.bash_profile

  • วางรหัสด้านล่างใน.bash_profileและกดCTRL + Oแล้วกด Enter เพื่อบันทึก.bash_profileไฟล์ กดCTRL + Xเพื่อออกจากโปรแกรมแก้ไข:

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • ตอนนี้ทั้งค่อนข้าง ( CMD + Q) ขั้วหรือเรียกใช้คำสั่งด้านล่างเพื่อโหลด.bash_profileการตั้งค่า:

    source ~/.bash_profile

  • ตอนนี้รันnvm lsคำสั่งเพื่อรับรายการเวอร์ชัน nodejs ที่ติดตั้งทั้งหมด


ขอบคุณฉันคิดว่าสิ่งที่ฉันพลาดคือการสร้าง.nvmไดเรกทอรี
icarovirtual

11

ก่อนอื่นให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ ~ / .bashrc

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

จากนั้นเปิดเทอร์มินัลและซอร์สสคริปต์ nvm.sh

source ~/.nvm/nvm.sh

8

OSX 10.15.0 Catalina (เปิดตัวเมื่อเดือนพฤศจิกายน 2562) เปลี่ยนเชลล์เริ่มต้นเป็น zsh

เปลือกเริ่มต้นเป็นทุบตีก่อนหน้านี้

คำสั่งการติดตั้งที่กำหนดในหน้าnvm GitHubจะต้องมีการปรับแต่งเพื่อรวม "zsh" ที่ท้าย

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | zsh

หมายเหตุ: คุณอาจต้องตรวจสอบให้แน่ใจว่า.rcไฟล์สำหรับ zsh มีอยู่ก่อน:

touch ~/.zsrhrc

5

ไม่ได้เชื่อมต่อโดยตรงกับคำถาม แต่มีปัญหาที่คล้ายกันที่อาจเกิดขึ้นลองดูที่คำถามนี้: ไม่สามารถเรียกใช้ nvm จาก bash ใหม่


นี่คือคำตอบของฉันในโพสต์นั้นเพียงเพื่อการอ้างอิง:

หากคุณกำลังรันจากอินสแตนซ์ bash ใหม่และคุณมีรหัสการเริ่มต้นที่ ~ / .bashrc, ~ / .bash_profile ของคุณ ฯลฯ คุณต้องตรวจสอบไฟล์การเริ่มต้นนี้สำหรับเงื่อนไข

ใน Ubuntu 14 มี:

case $- in
    *i*) ;;
      *) return;;
esac

ที่บรรทัดที่ 6 นั่นจะเป็นการหยุดการทำงานหากไม่มีการใช้ bash กับแฟล็ก "-i" (แบบโต้ตอบ) ดังนั้นคุณจะต้องเรียกใช้:

bash -i

นอกจากนี้ในตอนท้ายของไฟล์จะมี

[ -z "$PS1" ] && return

ที่จะหยุดการทำงานหากไม่ได้ทำงานด้วยชุด $ PS1 (เช่นในเซสชัน ssh ระยะไกล)

หากคุณไม่ต้องการเพิ่ม vars หรือค่าสถานะ env ใด ๆ คุณจะต้องลบเงื่อนไขเหล่านั้นออกจากไฟล์เริ่มต้นของคุณ

หวังว่าจะเป็นประโยชน์


5

หากคุณใช้ OS X คุณอาจต้องสร้างไฟล์. bash_profile ของคุณก่อนเรียกใช้คำสั่งการติดตั้ง นั่นทำเพื่อฉัน

สร้างไฟล์โปรไฟล์

touch ~/.bash_profile

เรียกใช้การติดตั้งอีกครั้งและคุณจะเห็นบรรทัดที่เกี่ยวข้องในผลลัพธ์ในครั้งนี้

=> การต่อท้ายซอร์สสตริงกับ /Users/{username}/.bash_profile

โหลดโปรไฟล์ของคุณใหม่ (หรือปิด / เปิดหน้าต่าง Terminal อีกครั้ง)

.  ~/.bash_profile

5

สำหรับ Mac OS:

  1. เปิด Terminal
  2. วิ่ง touch ~/.bash_profile
  3. วิ่ง vi ~/.bash_profile
  4. ชนิด source ~/.nvm/nvm.sh
  5. กดShift + Escและพิมพ์wqแล้วกดenter
  6. เสร็จสิ้น

ใน Ubuntu 18.04 ฉันต้องการเท่านั้น: 4. พิมพ์ source ~ / .nvm / nvm.sh และขอบคุณมาก!
Darnell Lynch

4

เพิ่มบรรทัดต่อไปนี้ลงในไฟล์~/.bashrcและ~/.bash_profile:

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

และรีสตาร์ทขั้วหรือไม่ทำหรือsource ~/.bashrc source ~/.bash_profileหากคุณต้องการคำสั่งเสร็จสิ้นสำหรับ nvm ให้เพิ่มบรรทัดด้วย:

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

พร้อมกับเส้นข้างต้นเพื่อและ~/.bashrc~/.bash_profile


4

สำหรับ MacOS;

ทำงานบน Terminal>

open ~/.bash_profile

วางทั้งหมดนี้ =

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

2

สคริปต์การติดตั้ง nvm โดยค่าเริ่มต้นจะเพิ่มรหัสการเริ่มต้นให้กับคุณ $HOME/.profileซึ่งโหลดโดยเชลล์การเข้าสู่ระบบเท่านั้น (ในสภาพแวดล้อมเดสก์ท็อปคุณอาจไม่เห็นเชลล์การเข้าสู่ระบบ)

คำสั่ง nvm ในล็อกอินเชลล์ของคุณจะไม่แพร่กระจายไปยังเชลล์ย่อย (เช่นคอนโซล windows และเทอร์มินัล IDE หลังจากคุณล็อกอิน) ตัวอย่างนี้$HOME/.bashrcจะโหลด nvm ของคุณหากเป็นเชลล์แบบโต้ตอบและยังไม่ได้โหลด

# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
  export NVM_DIR="$HOME/.nvm"
fi

# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
  # if nvm command is not defined
  if ! type -t nvm >/dev/null ; then
    # set it
    source "$NVM_DIR/nvm.sh"
  fi
fi

การวางสิ่งนี้ลงใน$HOME/.bashrcไฟล์ของคุณจะแก้ไขปัญหา nvm ที่หายไปในเชลล์ bash แบบโต้ตอบแม้จาก gui และแม้ว่า nvm จะถูกติดตั้งในตำแหน่งที่ไม่ได้มาตรฐาน


2

ฉันแก้ไขปัญหานี้แล้ว

  1. แตะ ~ / .bash_profile
  2. เปิด ~ / .bash_profile
  3. วางexport NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

2

สำหรับปัญหาได้รับการแก้ไขเมื่อฉันย้าย

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

ไปยังจุดสิ้นสุดของ .zshrc


1

ใน Debian รวมถึงเพิ่มบรรทัดด้านล่างลงใน. bash_profile ของฉันตามคำตอบข้อใดข้อหนึ่งข้างต้น ฉันยังต้องเปิดการตั้งค่าเทอร์มินัลของฉัน (แก้ไข -> การตั้งค่าโปรไฟล์ -> คำสั่ง) และเปิดใช้งาน 'เรียกใช้คำสั่งเป็นเปลือกเข้าสู่ระบบ' เพื่อให้มันทำงาน

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

แก้ไข: สำหรับผู้ที่อยู่ใน Mac โปรดทราบว่า macOS จะไม่อ่าน. bashrc บนเทอร์มินัลเริ่มดังนั้นควรใช้. bash_profile ดูที่นี่


1

สำหรับกรณีของฉันมันเพราะผมใช้ปลา ถ้าฉันไม่เริ่มปลาเพียงแค่พิมพ์ nvm จะไม่มีข้อผิดพลาดตอนนี้


คุณหยุดปลาอย่างไร
Matko

พิมพ์exit @MobileDream
JerryZhou

1

ในWindows 8.1 x64เดียวกันที่เกิดขึ้นกับฉันและได้รับข้อความดังต่อไปนี้

nvm install 8.3.0 bash: nvm: command ไม่พบ windows

ดังนั้นติดตามหรือตรวจสอบด้านล่างต่อไปนี้ steps-

ติดตั้งครั้งแรกจากcoreybutler/nvm-windows github.comปัจจุบันมีรุ่นล่าสุด 1.1.5 nvm-setup.zipในภายหลังแยกการติดตั้งnvm-setup.exeและติดตั้งเป็นสถานที่ดังต่อไปนี้:

NVM_HOME    : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs

และในขณะเดียวกันการตั้งค่าจะจัดการตัวแปรสภาพแวดล้อมPathตามที่กล่าวไว้ข้างต้นสำหรับคุณ

ตอนนี้ทำงานGit Bashเป็นผู้ดูแลระบบแล้ว

$ nvm install 8.3.0 all

Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.3.0

$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)

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

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

หากคุณมีปัญหาnvmในการติดตั้งnodeคุณสามารถดูรายการnodejsรุ่นที่มีให้ที่นี่https://nodejs.org/download/release/และเลือกตัวติดตั้งที่ถูกต้องตามเวอร์ชั่นที่คุณต้องการเท่ากับหรือสูงกว่าv6.3.0โดยตรง


0

สำหรับฉันมันใช้งานได้ ตรวจสอบก่อนว่าไฟล์.bashrcมีบรรทัดต่อไปนี้

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

ตอนนี้bashrcโหลดสำหรับแต่ละเซสชันเทอร์มินัล ดังนั้นรีสตาร์ทเครื่องเพื่อที่จะโหลดอีกครั้งและคุณควรจะไป




0

หลังจากลองหลายขั้นตอนไม่แน่ใจว่ามีปัญหาอะไรในกรณีของฉัน แต่การทำงานนี้ช่วยได้:

touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

ตรวจสอบโดย nvm --version

เอาต์พุต nvm -v

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