登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
Nvm切换Node版本同时自动切换Npm、Yarn、Pnpm的缓存地址 ...
Nvm切换Node版本同时自动切换Npm、Yarn、Pnpm的缓存地址
[ 复制链接 ]
步雪卉
2025-12-29 04:20:03
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
我们使用
Nvm
,在切换
Node
版本时,包管理工具(
Npm
、
Yarn
、
Pnpm
)的缓存地址并不会因为
Node
版本的改变而改变,
这就导致了可能因为
Node
版本与依赖包不兼容而导致的项目运行问题。以下
Shell
脚本(本地系统:MacOs 26.2 (25C56) 修改的
~/.zshrc
文件)
可以实现在执行 “
nvm use XXX
” 时,自动为每个版本的
Node
切换独立的缓存地址。
一、修改文件:~/.zshrc:
# 启用 Zsh 的钩子功能
autoload -U add-zsh-hook
# 统一函数:根据 Node.js 版本设置各包管理器的缓存路径
function sync_package_manager_cache {
# 获取当前 Node 版本(去掉 'v' 前缀)
local node_version=$(node -v 2>/dev/null | sed 's/^v//')
if [ -n "$node_version" ]; then
# 1. 设置 pnpm 存储路径
local pnpm_store_path="$HOME/.pnpm-store/v3/node-$node_version"
mkdir -p "$pnpm_store_path"
pnpm config set store-dir "$pnpm_store_path" --global > /dev/null 2>&1
# 2. 设置 npm 缓存路径
local npm_cache_path="$HOME/.npm_cache/node-$node_version"
mkdir -p "$npm_cache_path"
# 通过环境变量设置(优先级最高)
export npm_config_cache="$npm_cache_path"
# 同时写入全局配置
npm config set cache "$npm_cache_path" --global 2>/dev/null
# 3. 设置 yarn (v1) 缓存路径
local yarn_cache_path="$HOME/.yarn_cache/node-$node_version"
mkdir -p "$yarn_cache_path"
# 通过环境变量设置
export YARN_CACHE_FOLDER="$yarn_cache_path"
# 如果 yarn 已安装,也写入其全局配置
if command -v yarn &> /dev/null; then
yarn config set cache-folder "$yarn_cache_path" --global 2>/dev/null
fi
# 可选:切换时显示提示(需要提示时可取消注释下一行)
# echo "缓存目录已切换至 Node.js $node_version 对应路径"
fi
}
# 将函数添加到 precmd 钩子,在每次显示命令提示符前执行
add-zsh-hook precmd sync_package_manager_cache
# Shell 启动时立即执行一次,确保初始状态正确
sync_package_manager_cache
复制代码
二、 修改保存文件以后执行生效:
source ~/.zshrc
复制代码
三、验证是否生效:
nvm use 22
echo "Node版本: $(node -v)"
echo "npm缓存: $(npm config get cache)"
echo "yarn缓存: $(yarn cache dir 2>/dev/null || echo 'yarn未安装')"
echo "pnpm存储: $(pnpm store path)"
nvm use 24
echo "Node版本: $(node -v)"
echo "npm缓存: $(npm config get cache)"
echo "yarn缓存: $(yarn cache dir 2>/dev/null)"
echo "pnpm存储: $(pnpm store path)"
复制代码
执行结果:
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
切换
Nvm
Node
版本
同时
相关帖子
【更新日志】新春首发版本,给「增强模式」装上了自动档
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
微信电脑版绕过低版本限制工具-过低版本登录工具
EasyClaw全版本选型完全指南:个人/团队/企业全覆盖,AI自动化选型不踩坑
Qt正则表达式同时匹配多个关键词
Qt正则表达式同时匹配多个关键词
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
【更新日志】新春首发版本,给「增强模式」装上了自动档
0
685
赖珊
2026-03-16
安全
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
0
88
蜴间囝
2026-03-16
安全
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
0
890
归筠溪
2026-03-16
安全
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
0
444
埤兆
2026-03-16
安全
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
0
381
飧沾
2026-03-16
安全
Jenkins 版本选型(适配 Ubuntu 22.04 + GitLab CE 17.11.7)
0
676
雨角
2026-03-16
安全
微信电脑版绕过低版本限制工具-过低版本登录工具
0
96
万俟谷雪
2026-03-17
安全
EasyClaw全版本选型完全指南:个人/团队/企业全覆盖,AI自动化选型不踩坑
0
646
邰怀卉
2026-03-18
业界
Qt正则表达式同时匹配多个关键词
0
705
战匈琼
2026-03-21
业界
Qt正则表达式同时匹配多个关键词
0
440
东郭欣然
2026-03-21
回复
(28)
县挫伪
2026-1-15 13:13:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
钨哄魁
2026-1-17 02:00:51
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
忙贬
2026-1-18 18:08:24
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
晁红叶
2026-1-22 05:49:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
琶轮
2026-1-24 06:01:32
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
连热
2026-1-28 05:48:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
但婆
2026-1-29 17:00:31
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
这个有用。
祖柔惠
2026-2-3 10:26:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
纪音悦
2026-2-3 11:37:40
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
绘纵
2026-2-5 04:59:29
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
渣骑
2026-2-7 04:18:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
雌鲳签
2026-2-7 04:26:45
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
捡嫌
2026-2-7 07:35:40
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
痕厄
2026-2-7 09:27:21
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
麓吆
2026-2-7 21:03:51
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
倡粤
2026-2-8 05:58:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
赊朗爆
2026-2-8 12:20:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
国语诗
2026-2-8 14:22:55
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
奄蜊
2026-2-8 19:13:31
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
代码
签约作者
程序园优秀签约作者
发帖
步雪卉
2026-2-8 19:13:31
关注
0
粉丝关注
23
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9912
7
宋子
9878
8
荪俗
9016
9
闰咄阅
9995
10
刎唇
9995
查看更多
今日好文热榜
630
AI编程时代,35岁以上程序员将何去何从?
826
[Refactor]CPP Learn Data Day 1
0
Block Copy 的内存布局详解
613
把 Flask 搬进 ESP32,高中生自研嵌入式 We
1
渐得如意智能自动化办公平台——定义属于你
883
[AI/Agent/社交] AI Agent社交网络产品:Mo
520
C++协程入门
284
TCSSOFTDEPTCOPY.zip Can download source
800
Vue3 + Iframe 实战:打造企业级流程配置中
823
“你用AI,那我也会用AI,我还要你干什么?
621
自感痕迹论:先验意义场域与经验痕迹内外
7
一道KMP统考真题彻底讲透:nextval与滑动距
6
一道KMP统考真题彻底讲透:nextval与滑动距
741
从 Clubhouse 的崛起与陨落,看语聊房 RTC
244
老马失前蹄,竟然在数据库外键上翻车了,重
8
老马失前蹄,竟然在数据库外键上翻车了,重
6
老马失前蹄,竟然在数据库外键上翻车了,重
6
老马失前蹄,竟然在数据库外键上翻车了,重
8
老马失前蹄,竟然在数据库外键上翻车了,重
7
老马失前蹄,竟然在数据库外键上翻车了,重