nodenv global not working
nodeの最新版が使いたかった。なので、globalに設定した
nodenv global 14.2.0しかし、かわらない
$ node
Welcome to Node.js v13.12.0.次は、localに設定してみる
nodenv local 14.2.0これはうまくいったが .node-version というファイルが発生してしまう
不要なので、原因を探した
原因
.node-versionというファイルが親ディレクトリに存在していたのが原因だった
$ node
nodenv: version `13.12.0' is not installed (set by /root/.node-version)これについては、nodenvに情報があった(https://github.com/nodenv/nodenv#choosing-the-node-version)
ノードバージョンの選択(翻訳しました)シムを実行すると、nodenvは次のソースからこの順序で読み取ることにより、使用するノードのバージョンを決定します。
NODENV_VERSION環境変数、指定された場合。nodenv shellコマンドを使用して、現在のシェルセッションでこの環境変数を設定できます。
.node-versionファイルシステムのルートに到達するまで、実行中のスクリプトのディレクトリとその各親ディレクトリを検索して見つかった最初のファイル。
.node-versionファイルシステムのルートに到達するまで、現在の作業ディレクトリとその各親ディレクトリを検索して見つかった最初のファイル。コマンドを.node-version使用して、現在の作業ディレクトリにあるファイルを変更できますnodenv local。グローバル
~/.nodenv/versionファイル。nodenv globalコマンドを使用して、このファイルを変更できます。グローバルバージョンファイルが存在しない場合、nodenvは「システム」ノードを使用することを想定しています。つまり、nodenvがパスになかった場合に実行されるバージョンです。
上記2,3にあるように、各親ディレクトリを検索して見つかった最初のファイルを設定する。
なので、/root/にあった、.node-version が参照されてしまった。
こいつを削除したら、nodeversionが想定通りになった。
rm /root/.node-version過程
nodeのバージョンが想定通りにならない
nodenv globalで設定。失敗
nodenv localで設定。成功。しかし、.node-versionが作業ディレクトリに作成される
nodenvでinstall済みのversionを削除
nodeを実行するとエラーが発生
nodenv: version `13.12.0' is not installed (set by /root/.node-version)いろいろ調べた結果いらないと判断。削除
平和になった
最終更新
役に立ちましたか?