对于 Node.js 世界,我们可以使用 NVM 在 Node.js 版本之间切换,也可以切换出哪些全局包在范围内(在 $PATH 中)。
但是,如果我想确保在命令行中使用 typescript 版本 3.3.334 怎么办?显然,我可以将该版本的 typescript 安装到我的本地项目中,但是如果我想避免本地依赖,我如何使用 shell 程序在命令行中使用精确版本的 typescript?
我在想这样的事情:
package="typescript@3.3.334"
dir="$HOME/.temp/$package";
if [ ! -d "$dir" ]; then
mkdir -p "$dir"
(cd "$dir" && npm i "$package")
fi
export PATH="$dir/node_modules/.bin:$PATH"
do_the_original_thing_you_wanted_to_do foo bar