获得徽章 12
赞了这篇文章
赞了这篇沸点
#每天一个知识点#
以 Mac 电脑为例,终端shell配置 ~/.zshrc 文件 或者 ~/.bash_profile 文件,实现启动终端时,自动加载项目目录下 .nvmrc 中的 node 版本,或者加载 package.json 文件中, engines 配置的 node 大版本
load-nvmrc() {
echo '
找到.nvmrc配置,并自动切换node版本
'
nvm use #
}
load-engines-node() {
local node_version=$(sed -n '/engines/,/}/p' package.json | grep -o "\"node\":\s*\"[^\"]*\"" | cut -d ':' -f 2 | tr -d '"')
local version_number=$(echo "$node_version" | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | tail -n1 | grep -o '[0-9]*' | head -n1)
if [ -n "$version_number" ]; then
echo "
找到package中engines的node版本($version_number)配置,并自动切换node版本
"
nvm use "$version_number"
fi
}
load-node() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
load-nvmrc
else
load-engines-node
fi
}
load-node
# end =====
以 Mac 电脑为例,终端shell配置 ~/.zshrc 文件 或者 ~/.bash_profile 文件,实现启动终端时,自动加载项目目录下 .nvmrc 中的 node 版本,或者加载 package.json 文件中, engines 配置的 node 大版本
load-nvmrc() {
echo '
nvm use #
}
load-engines-node() {
local node_version=$(sed -n '/engines/,/}/p' package.json | grep -o "\"node\":\s*\"[^\"]*\"" | cut -d ':' -f 2 | tr -d '"')
local version_number=$(echo "$node_version" | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | tail -n1 | grep -o '[0-9]*' | head -n1)
if [ -n "$version_number" ]; then
echo "
nvm use "$version_number"
fi
}
load-node() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
load-nvmrc
else
load-engines-node
fi
}
load-node
# end =====
展开
评论
1
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)
![[囧]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_70.285ebe9.png)