web-dev-qa-db-ja.com

nvmlsの実行中にNVMがエラーを発生させる

私はノードバージョンをインストールして切り替えようとしていたので、最初に以下を使用してnvmをインストールします

Administrators-MacBook-Pro:~ user.name$ Sudo npm install nvm -g
Password:
npm http GET https://registry.npmjs.org/nvm
npm http 304 https://registry.npmjs.org/nvm
npm http GET https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/mkdirp
/usr/local/bin/nvm -> /usr/local/lib/node_modules/nvm/bin/nvm
[email protected] /usr/local/lib/node_modules/nvm
└── [email protected]

この後、ノードのバージョンを一覧表示するために「nvm ls」を実行しようとしましたが、エラーが発生しました(以下)。 何が問題なのかアドバイスしてください

Administrators-MacBook-Pro:~ user.name$ nvm ls

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/local/lib/node_modules/nvm/bin/nvm-ls'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/nvm/bin/nvm:15:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
16
Amit

最近、nvmをnpmパッケージとしてインストールした後にこの問題が発生しました( https://npmjs.org/package/nvm から)。

この問題を解決するには、 https://github.com/creationix/nvm#installation の手順を使用してnvmを直接インストールします。

インストールして

source ~/.nvm/nvm.sh

実行された(これは、現在のターミナルセッションでnvmを使用できるようにするため、重要です)、実行できるようになります

nvm ls

およびその他のnvmコマンドをプロジェクトディレクトリから正常に実行します。

これが学習ノードに役立ち、応援することを願っています!

49
jewel

nvmコマンドを使用するには、上記のようにソースを設定する必要があります。ただし、ログインするたびにこれを実行する必要はありません。

これらの行を〜/ .bashrc〜/ .profile、または〜/に追加するだけです。ログイン時に自動的にソースされるようにする.zshrcファイル:

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

参照 https://github.com/creationix/nvm#manual-install

4
Sebastian Tilch

追加するだけで、私もmacを使用しますが、nvmをインストールするデフォルト以外のシェル(zsh)は.bash_profileを変更します(そして「source〜/.nvm/nvm.sh」の行を追加します)

同じエラーが発生したので、シェルプロファイルファイルに「source〜/.nvm/nvm.sh」を追加する必要があることを確認する必要があります(私にとっては.zshrcでした)

2
Greyeye

@jewelは正しいです:2016年1月(そしておそらくそれ以前)の時点で、NPMがインストールされたバージョンのnvmはもう存在しないようです(少なくとも、その github repo は404を与えます)。この古い、メンテナンスされていないパッケージがインストールされている場合、nvmコマンドを入力すると、"local" not implemented yetError: Cannot find module './nvm-help'などのエラーが表示される場合があります。

nvmの正しいバージョンは https://github.com/creationix/nvm から取得されます。

以前の(現在はメンテナンスされていない)バージョンをインストールした場合は、次の手順を実行して放送を再開できます。

  1. npm uninstall -g nvm
  2. 上記のgithubページでインストールスクリプトを使用する
1
richb-hanover

最も簡単な方法は、ホームディレクトリ(.nvm)に保存されている/home/yournameディレクトリを削除し、nvmを再インストールすることです。

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

0
Lasith Niroshan

./node_modules/.binを含むようにパスを更新しましたか?例えば。:

export PATH=./node_modules/.bin:$PATH
0
CXJ