NVM のインストール手順は .bashrc や .zshrc に source ~/.nvm/nvm.sh を記述するよう指示している。しかし nvm.sh は比較的複雑なので source に時間がかかり、インタラクティブシェルの起動がわずかに遅くなる。できればこのタイムロスをなくしたい。 nvm.sh の大半を占めるコードは nvm コマンドに関するものであるため、 nvm コマンドを実行するときに初めて nvm.sh をロードするようにしてみる。 # 仮の nvm コマンド nvm() { # まず仮の nvm コマンドを unset unset -f nvm # nvm.sh をロード # ここで本物の nvm コマンドが定義される source "${NVM_DIR:-$HOME/.nvm}/nvm.sh" # 仮の nvm コマンドに渡された引数を本物に受け渡す nvm "$
![NVM の nvm.sh を遅延ロードしてシェルの起動を高速化する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c73148dcbe1483c85803726e985949b445140655/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9TlZNJTIwJUUzJTgxJUFFJTIwbnZtLnNoJTIwJUUzJTgyJTkyJUU5JTgxJTg1JUU1JUJCJUI2JUUzJTgzJUFEJUUzJTgzJUJDJUUzJTgzJTg5JUUzJTgxJTk3JUUzJTgxJUE2JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgxJUFFJUU4JUI1JUI3JUU1JThCJTk1JUUzJTgyJTkyJUU5JUFCJTk4JUU5JTgwJTlGJUU1JThDJTk2JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00YTAwYjVkMGFiMTY4ZTk0Y2Q2NDUxZDIwMGNmMjY3Mg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdWFzaSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Y2ZkNzYyNjlkOGRhOGE3MWMyYzQwYjJmNjkxZTRhNmU%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dadbed526d7e5a00f0da1ece40160e444)