Homebrew cài đặt nvm nhưng không tìm thấy nvm sau đó?


95

Tôi đang sử dụng homebrewoh-my-zshcài đặt OSX 10.10.1 mới. Tôi nhận được nvmthông qua homebrewvà sau đó cố gắng chạy nó nhưng nói - zsh: không tìm thấy lệnh: nvm

Bất kỳ ý tưởng vấn đề là gì? Tôi đã có thể cài đặt và sử dụng git tốt ...

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


CẬP NHẬT 20/09/2019

Như đã nêu trong các câu trả lời gần đây hơn từ DarkPurple141Elise van Looij . nvmdường như không tương thích với homebrew. Điều này cũng được nêu trong repo nvm-sh chính thức được đặt tại đây .

Cài đặt Homebrew không được hỗ trợ. Nếu bạn gặp sự cố với nvm do homebrew cài đặt, vui lòng gỡ cài đặt và cài đặt nó bằng cách sử dụng hướng dẫn bên dưới, trước khi gửi sự cố.

Lưu ý: Nếu bạn đang sử dụng zsh, bạn có thể dễ dàng cài đặt nvm dưới dạng plugin zsh. Cài đặt zsh-nvm và chạy nâng cấp nvm để nâng cấp.

Các bước sau sẽ giúp:

  1. $ brew uninstall nvm
  2. $ brew cleanup(chỉ để đo tốt)
  3. $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  4. Kiểm tra xem nvm đã được cài đặt đúng chưa bằng cách chạy $ command -v nvm.

    4.a Nếu phản hồi không phải là $ nvm, hãy thêm hai dòng sau vào tệp ~ / .bash-profile: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b Khởi động lại máy tính của bạn (bạn có thể thử đóng Terminal và khởi động lại nó trước) 4.c ​​$ command -v nvm should now returnnvm`

  5. Bây giờ hãy cập nhật Node.js với $ nvm install --lts

  6. Cập nhật npm: $ nvm install-latest-npm
  7. $ npm install --global mocha. Cuối cùng, thành công! Vâng, cho tôi và tôi cũng hy vọng cho bạn.

3
Nó có tồn tại nếu bạn khởi động lại Terminal không?
Aaron Brager

Hãy thử gõ rehash hoặc mở một trình bao mới. Đôi khi zsh không nhận bổ sung.
Doon

Tôi đã đóng shell, khởi động lại hệ thống và không có gì. Đã xảy ra lỗi và không có may mắn.
Dayan

Làm thế nào về liên kết bia nvm có làm được gì không?
Doon

Cảnh báo: Đã được liên kết: /usr/local/Cellar/nvm/0.20.0 Để liên kết lại: brew hủy liên kết nvm && brew link nvm
Dayan

Câu trả lời:


127

Bạn đã làm theo hướng dẫn được liệt kê trong phần cảnh báo chưa?

[~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:

  source $(brew --prefix nvm)/nvm.sh

Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:

  export NVM_DIR=~/.nvm

Nếu không có cấu hình bổ sung, có vẻ như nó sẽ không tìm thấy NVM theo mặc định ..


3
Cảm ơn bạn vì những người đứng đầu Doon, tôi không biết brew info, vẫn còn mới homebrew:) Nó hoạt động tốt bây giờ sau khi làm theo các bước đó.
Dayan

Chúng cũng sẽ được hiển thị sau khi cài đặt hoàn tất. Nhưng nếu bạn không tìm kiếm chúng, chúng có thể bị bỏ qua.
Doon

4
Tôi đã phải thêm cái này vào để làm ~/.bash_profilecho nó hoạt động: /
Janaka

1
hmm. Tôi không sử dụng bash (thích zsh hơn), nhưng có vẻ như OSX terminal.app (tôi cũng không sử dụng terminal, thích Iterm2 hơn), mở mỗi trình bao như một trình bao đăng nhập, vì vậy có .bash_profile sẽ đúng trong trường hợp đó. . cũng thông tin đã thay đổi. vì vậy bạn nên tham khảo phiên bản mới nhất ..
Doon

Cảm ơn! Tôi đã thiếu dòng này source $(brew --prefix nvm)/nvm.sh. Đã thêm nó vào .zshrh của tôi
John Ottenlips

42

Có HAI điều bạn cần làm. Thực hiện theo các cảnh báo được hiển thị sau khi cài đặt nvm qua brew và THÌ bạn cần kích hoạt / tải lại các thay đổi .bash_profile.

  1. Chạy brew install nvm
  2. Làm theo các cảnh báo được hiển thị trong bảng điều khiển, của tôi như sau, của bạn CÓ THỂ khác !:

Thêm phần sau vào ~ / .bash_profile hoặc tệp cấu hình shell mong muốn của bạn:

export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
  1. Chạy . ~/.bash_profileđể áp dụng các thay đổi bạn đã thực hiện cho tệp .bash_profile của mình

Điều này rất hữu ích cho người dùng Bash, nhưng OP trên zsh. Tôi đoán điều tương tự cũng áp dụng .zshrcvới các sửa đổi cần thiết.
tripleee

5

Mặc dù câu trả lời được chấp nhận hoạt động về mặt kỹ thuật, nhưng cần lưu ý rằng cài đặt Homebrew không được nvmgói hỗ trợ chính thức . Cách được khuyến nghị để tránh các vấn đề như đã nêu ở trên là áp dụng một trong các phương pháp cài đặt dưới đây.

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

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

nguồn: https://github.com/creationix/nvm


3

Tôi đã dành vài giờ để xem xét lại vấn đề này, nhưng tôi đã đi đến kết luận rằng DarkPurple141 đúng: nvm không tương thích với Homebrew, như họ nói trên Github nvm-sh / nvm Node Trình quản lý phiên bản . Homebrew sẽ cài đặt nvm và mọi thứ đều ổn, cho đến khi một người cố gắng lấy npm để cài đặt một mô-đun, trong trường hợp của tôi là Mocha. Điều đó đã ném tôi trở lại ngay với lỗi đáng sợ:

LỖI! Lỗi: EACCES: quyền bị từ chối, quyền truy cập '/ usr / local / lib / node_modules'

LƯU Ý: Ở bước 3, hãy đảm bảo thay thế phiên bản bằng bản phát hành chính xác.

Giải pháp, trên MacOS 10.14 Mojave, là:

  1. $ brew uninstall nvm
  2. $ brew cleanup(chỉ để đo tốt)
  3. $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
  4. Kiểm tra xem nvm đã được cài đặt đúng chưa bằng cách chạy $ command -v nvm.

    4.a Nếu phản hồi không phải là $ nvm, hãy thêm hai dòng sau vào tệp ~ / .bash-profile: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b Khởi động lại máy tính của bạn (bạn có thể thử đóng Terminal và khởi động lại nó trước) 4.c ​​$ command -v nvm should now returnnvm`

  5. Bây giờ hãy cập nhật Node.js với $ nvm install --lts

  6. Cập nhật npm: $ nvm install-latest-npm
  7. $ npm install --global mocha. Cuối cùng, thành công! Vâng, cho tôi và tôi cũng hy vọng cho bạn.

1

Để cài đặt nvm, brew install nvm

Để chạy nvm sau khi cài đặt hoặc chỉ một lần, $(brew --prefix nvm)/nvm.sh

Để chạy mọi nvm zshmở

  1. nano ~/.zshrc
  2. Thêm dòng này source $(brew --prefix nvm)/nvm.sh

1

Tôi muốn thêm vị trí của nvm đó trên github đã thay đổi và phiên bản bị đụng. Lệnh curl bây giờ sẽ là:

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

0

Lý do bạn cần tải lại hồ sơ bash của mình hoặc bất kỳ tệp bash nào khác có thể là vì lệnh nvm có thể không phải là một chương trình mà là một hàm được xác định và chỉ có thể được sử dụng nếu có nguồn gốc là tệp bash tương ứng.

Trên hệ thống mà tôi đã kiểm tra

which nvm 

không hoạt động nhưng

nvm list

làm. Điều này có nghĩa là bạn có thể sử dụng từ "nvm" để gọi một thứ gì đó. Đó không phải là một chương trình. Trong trường hợp hiện tại, nó là một chức năng có thể được xác minh bởi

typeset -F | grep -P ' nvm$'

đầu ra nào

declare -F nvm

có nghĩa là nvm là một hàm, cơ thể của nó có thể được kiểm tra bằng cách thực hiện

type -F nvm

1
Đẹp .. Nhưng, đây là câu trả lời như thế nào?
Dayan

1
Cảm ơn về bản cập nhật Dayan - đã chỉnh sửa câu trả lời - lý do tại sao tôi không thể tìm thấy nó vì tôi dựa vào nó là một chương trình nhưng nó được định nghĩa là một hàm. Muốn làm nổi bật điều đó.
Saurabh Hirani

Để kiểm tra xem nvm đã được cài đặt đúng cách hay chưa, hãy sử dụng 'command -v nvm' trong Terminal. Câu trả lời phải là 'nvm'. Nếu không, hãy làm theo hướng dẫn trên github.com/nvm-sh/nvm#installation-and-update .
Elise van Looij

0

Một khả năng nếu brewđược sử dụng là nó nvmcó thể bị hủy liên kết, đặc biệt nếu nó được cài đặt bởi một người dùng MAC OS khác.

Trong trường hợp này, hãy thực hiện:

brew link nvm


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.