anyenv経由のnodenvインストールは同じように失敗している人がいましたね。
Node.jsのバージョン管理ソフトは星の数ほど存在するので
「別にどうでもよかったわ」となったら他の手段を検討してみてください。
まずは貴方のやるべきことはanyenv経由でnodenvの謎を解き明かすことで合っているのか?
確認してみてください。
一応下記に私がオススメする代替ライブラリをあげておきます。
Rust製のNode.jsのバージョン管理ソフト
私も先日この記事を読んでNodebrewから乗り換えた
Node.js のバージョン管理ツール Volta を使ってみる
こちらもNode.jsのバージョン管理ソフト
Windows厳禁、MacはHomebrewでも導入可能だがハマる
基本的にcurl -L git.io/nodebrew | perl - setup
を使うべき
環境変数NODE_PATHに値を突っ込まないとグローバルインストールしたモジュールがrequireに失敗する等の罠がある
nodebrewのNODE_PATHを設定する奴
さてさて、CLIツールの使い方のお話です。
zsh: command not found: nodenv
シェルにはルールがあり、
これがどういう理屈でコマンドが存在しない判定になるのか
何をすればコマンドとして認識されるのかにルールがあります。
bash
1$ echo $PATH
2/home/miyabi/.local/bin:/usr/bin:/sbin:/bin
環境変数の$PATH
を表示すると
こんな風にコロン区切りのディレクトリパスの文字列がずらずらと表示されます。
シェルで何かしらのコマンドを実行すると、
この左のディレクトリから「同名の実行ファイルはありますか?」と探していき、
ヒットしたらそのファイルを実行します。
最後まで見つからなければzsh: command not found: nodenv
です。
なので実行ファイルをコマンドとして認識してもらうには2通りのアプローチがあります。
- 環境変数
$PATH
を拡張して、認識させたい実行ファイルが存在するディレクトリを含めるようにする
- 環境変数
$PATH
に記述してあるいずれかのディレクトリに、認識させたい実行ファイルを移動させる
今回の質問文のケースは前者が主となるでしょう。
bashやzshならばexport PATH=$PATH:追加したいコマンド検索パス
といったコマンドを発行することで
環境変数$PATH
を拡張させて新しいディレクトリを認識させる事ができるようになります。
しかし、これはターミナルソフトを閉じると効果が失われます。
ターミナルソフトを立ち上げてzshの世界に触れたタイミングで毎回export PATH=$PATH:追加したいコマンド検索パス
を実行しなければなりません。
それをやってくれるのが
.zshrc
や.bashrc
です。
利用しているシェルはzshのようなので.zshrc
のファイルの末尾に
export PATH=$PATH:追加したいコマンド検索パス
を追加してください。
するとターミナルソフトを立ち上げる度にこのコマンドを入力してくれてコマンドが使えるようになります。
この辺の一連の流れを「パスを通す」と呼びます。
恐らく参考にした記事の冒頭とかに書いてあるかと思いますし、
書いて無ければ「こんなこと知ってるでしょ?」体だと思います。
この辺、公式サイトのドキュメントは結構丁寧に教えてくれたりするので
出来れば公式サイトのドキュメントを読んで欲しいところですね。