Homebrewはnvmをインストールしますが、その後nvmが見つかりませんか?


95

私は、OSX 10.10.1の新規インストールを使用homebrewoh-my-zshています。私はnvm経由homebrewしてそれを実行しようとしましたが、zsh:コマンドが見つかりません:nvm

問題は何ですか?うまくインストールしてgitを使用できました...

ここに画像の説明を入力してください

ここに画像の説明を入力してください


更新日:2019年9月20日

DarkPurple141Elise van Looijからの最近の回答で述べたように。nvmはと互換性がないようhomebrewです。これは、こちらにある公式のnvm-shリポジトリにも記載されています

自作インストールはサポートされていません。homebrewでインストールされたnvmに問題がある場合は、brewをアンインストールし、問題を報告する前に、以下の手順に従ってインストールしてください。

注:zshを使用している場合は、nvmをzshプラグインとして簡単にインストールできます。zsh-nvmをインストールし、nvm upgradeを実行してアップグレードします。

次の手順が役立ちます。

  1. ドル brew uninstall nvm
  2. $ brew cleanup(丁度良い)
  3. ドル curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  4. $を実行して、nvmが正しくインストールされていることを確認しcommand -v nvmます。

    応答が$以外の場合は4.A nvm、〜/ .bash-profileファイルに次の2行を追加します。 export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.Bコンピュータを再起動します(あなたは、ターミナルを閉じて最初にそれを再起動してみてくださいすることができます)4.C $ command -v nvm should now returnnvm`

  5. 次にNode.jsを$で更新します nvm install --lts

  6. npmを更新:$ nvm install-latest-npm
  7. $ npm install --global mocha。最後に、成功!まあ、私にとっても私もあなたのために願っています。

3
ターミナルを再起動しても持続しますか?
アーロンブラジャー2014

rehashと入力するか、新しいシェルを開いてみてください。zshが追加を取得しない場合があります。
Doon

シェルを閉じてシステムを再起動し、何もしませんでした。やり直したが運がなかった。
Dayan

brew link nvmはそれで何をしますか?
Doon

警告:リンク済み:/usr/local/Cellar/nvm/0.20.0再リンクするには:brew unlink nvm && brew link nvm
Dayan

回答:


127

警告に記載されている指示に従いましたか?

[~] 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

追加の設定がないと、デフォルトでNVMが検出されるようには見えません。


3
頭を上げてくれたDoonに感謝します。知らなかったのですがbrew info、まだ新しいですhomebrew:)これらの手順を実行した後、正常に機能します。
Dayan

インストールが完了した後にも表示されます。しかし、それらを探していない場合は、見逃される可能性があります。
Doon

4
これを機能さ~/.bash_profileせるためにby にこれを追加する必要がありました:/
Janaka

1
うーん。私はbash(prefer zsh)を使用していませんが、OSX terminal.appのように見えます(ターミナルも使用せず、Iterm2を使用します)。各シェルをログインシェルとして開くので、その場合は.bash_profileが正しいはずです。 。情報も変更されました。あなたは、最新バージョンを参照する必要があります...
ドーン

ありがとう!この行が欠けていました source $(brew --prefix nvm)/nvm.sh。それを私の.zshrhに追加しました
John Ottenlips

42

やらなければならないことが2つあります。brewを介してnvmをインストールした後に表示される警告に従い、次に.bash_profileの変更アクティブ化/再ロードする必要があります。

  1. 走る brew install nvm
  2. コンソールに表示されている警告に従ってください。私のものは次のとおりです。

以下を〜/ .bash_profileまたは必要なシェル構成ファイルに追加します。

export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
  1. 実行. ~/.bash_profileして、.bash_profileファイルに加えた変更を適用します。

これはBashユーザーには便利ですが、OPはzshにあります。同じことが.zshrc必要な修正に当てはまると思います。
tripleee 2017

5

受け入れられた答えは技術的には機能しますが、Homebrewのインストールがnvmパッケージによって公式にサポートされていないことは注目に値します。上記のような問題を回避するには、以下のインストール方法のいずれかを適用することをお勧めします。

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

ソース:https : //github.com/creationix/nvm


3

私はこの問題を何度も何度も行ってきましたが、DarkPurple141が正しいという結論に達しました:nvmはGithub nvm-sh / nvmノードで述べているように、Homebrewと互換性がありませんバージョンマネージャ。Homebrewはnvmをインストールし、npmでモジュール(私の場合はMocha)をインストールしようとするまで、すべてが正常に見えます。それは私を恐ろしいエラーにすぐに戻しました:

エラー!エラー:EACCES:権限が拒否されました。 '/ usr / local / lib / node_modules'にアクセスしてください

注:ステップ3では、バージョンを正しいリリースに置き換えてください。

MacOS 10.14 Mojaveでのソリューションは次のとおりです。

  1. ドル brew uninstall nvm
  2. $ brew cleanup(丁度良い)
  3. ドル curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
  4. $を実行して、nvmが正しくインストールされていることを確認しcommand -v nvmます。

    応答が$以外の場合は4.A nvm、〜/ .bash-profileファイルに次の2行を追加します。 export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.Bコンピュータを再起動します(あなたは、ターミナルを閉じて最初にそれを再起動してみてくださいすることができます)4.C $ command -v nvm should now returnnvm`

  5. 次にNode.jsを$で更新します nvm install --lts

  6. npmを更新:$ nvm install-latest-npm
  7. $ npm install --global mocha。最後に、成功!まあ、私にとっても私もあなたのために願っています。

1

nvmをインストールするには、 brew install nvm

インストール後または一度だけnvmを実行するには、 $(brew --prefix nvm)/nvm.sh

zsh開くたびにnvmを実行するには

  1. nano ~/.zshrc
  2. この行を追加 source $(brew --prefix nvm)/nvm.sh

1

github上のnvmの場所を変更し、バージョンを上げました。curlコマンドは次のようになります。

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

0

bashプロファイルまたは他のbashファイルを再ロードする必要があるのは、コマンドnvmがプログラムではなく、定義されている関数であり、対応するbashファイルが提供されている場合にのみ使用できるためです。

チェックしたシステム上

which nvm 

動作しませんが

nvm list

します。つまり、「nvm」という単語を使用して何かを呼び出すことができます。それはプログラムではありません。現在のケースでは、

typeset -F | grep -P ' nvm$'

出力する

declare -F nvm

これは、nvmが関数であり、その本体を

type -F nvm

1
ニース..しかし、これはどのように答えますか?
Dayan

1
更新してくれてありがとうDayan-回答を編集しました-プログラムであることに依存していたために見つけられなかった理由ですが、関数として定義されていました。それを強調したかった。
Saurabh Hirani 2017年

nvmが正しくインストールされているかどうかを確認するには、ターミナルで「command -v nvm」を使用します。応答は「nvm」である必要があります。そうでない場合は、github.com/nvm-sh/nvm#installation-and-updateの指示に従ってください。
エリーゼファンルーイ

0

brewが使用された場合の1つの可能性はnvm、特に別のMAC OSユーザーによってインストールされた場合、リンクが解除される可能性があることです。

この場合、以下を実行します。

brew link nvm


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.