nodenv global not working
nodeの最新版が使いたかった。なので、globalに設定した
しかし、かわらない
次は、localに設定してみる
これはうまくいったが .node-version
というファイルが発生してしまう
不要なので、原因を探した
原因
.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が想定通りになった。
過程
nodeのバージョンが想定通りにならない
nodenv globalで設定。失敗
nodenv localで設定。成功。しかし、.node-version
が作業ディレクトリに作成される
nodenvでinstall済みのversionを削除
nodeを実行するとエラーが発生
いろいろ調べた結果いらないと判断。削除
平和になった
最終更新