如何使用 nvm 查找当前激活的版本?

Tom*_*ale 5 nvm

我使用nvm并想找出当前正在运行的节点版本。

如果system正在使用该版本,我想查看字符串system

理想情况下,我正在寻找一个字符串来放入我的提示中。

Sha*_*pta 12

在终端中运行这个

nvm current
Run Code Online (Sandbox Code Playgroud)

或者

node -v
Run Code Online (Sandbox Code Playgroud)

nvm ls

列出所有版本

nvm use version_name
Run Code Online (Sandbox Code Playgroud)

使用该版本


Tom*_*ale 0

bash

[[ $NVM_BIN =~ ([^/]+)/bin$ ]] && echo "${BASH_REMATCH[2]}" || echo "system"
Run Code Online (Sandbox Code Playgroud)

对于zsh,首先执行:

setopt BASH_REMATCH
Run Code Online (Sandbox Code Playgroud)

这比使用快得多nvm current,特别是在提示中使用:

$ time nvm current
system

real    0m0.188s
user    0m0.149s
sys     0m0.042s
Run Code Online (Sandbox Code Playgroud)

和....相比:

$ time [[ $NVM_BIN =~ ([^/]+)/bin$ ]] && echo "${BASH_REMATCH[2]}" || echo "system"

real    0m0.009s
user    0m0.002s
sys     0m0.007s
system
Run Code Online (Sandbox Code Playgroud)

几乎 0.2 秒 vs 只有 0.009 秒。