nvm 用来管理多个 nodejs 环境。
在项目目录下新建 .nvmrc 文件指定要使用的 nodejs 版本:
14.21.3
这个时候就可以在项目目录下激活对应环境了:
nvm use # 相当于 nvm use 14.21.3
配合 direnv 可以在进入该目录时自动激活对应环境。
在项目根目录下新建 .envrc 文件,写入下面内容即可:
#!/bin/bash
layout node
. $HOME/.config/nvm/nvm.sh && nvm use
关于第三行:如果 which 能找到 nvm 就不需要前面那一截。如果 which 找不到,可能是 nvm 没有写到 PATH 里面,而是在启动 shell 时动态注入的,例如 bash 可查看 .bashrc 文件,能看到下面这一段:
export NVM_DIR="$HOME/.config/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# This loads nvm bash_completion
这是在安装 nvm 时自动注入的。可以看到第二行是加载 nvm 的方法。
在我们首次进入项目目录执行 .envrc 文件时,需要手动输入 direnv allow
批准脚本。再次执行时则不再需要手动批准。如果我们修改了 .envrc 文件内容,则又需要手动批准一次。
评论区