pnpm依赖安装失败解决|pnpm项目从一个文件夹复制到另一个文件夹运行失败问题解决-以vbenAdmin项目为例

1 前言

最近在使用vben admin项目迁移时,从一个文件夹复制到另一个文件夹运行不起来,排查了一天,终于把问题排查出来了,特地记录一下,便于自己看也便于大家看。

使用项目安装包版本:

v2.11.5 https://github.com/vbenjs/vue-vben-admin/tags

2 解决方案

2.1 软链接问题解决

问题 : pnpm 使用硬链接或符号链接来管理 node_modules 中的依赖项。如果链接路径在新的文件夹或文件系统中失效,可能会导致依赖解析失败。

解决方法: 尝试删除并重新安装所有依赖,确保链接正确创建。

rm -rf node_modules pnpm-lock.yaml

node_modules文件夹一定要全部删除,pnpm-lock.yaml文件也要删除,上述是用命令删除的,也可以自己手动删(所有的node_modules都要删)

2.2 文件路径过长问题

问题: 在 Windows 系统上,文件路径过长(超过 260 个字符)可能导致文件系统问题,导致文件无法被正确访问。

解决方法 : 尝试将项目目录移动到一个路径较短的位置,比如 C:\Projects\my-project,然后重新安装依赖。

node_modules文件夹里面的内容路径会很长,所以整个项目文件夹所在路径不宜过长,否则路径可能会超过260个字符。

2.3 pnpm缓存问题

问题 : pnpm 的缓存可能导致一些包没有被正确更新或安装。

解决方法 : 清除 pnpm 的缓存:

依次执行下面命令

  • 清理未使用的缓存包

    pnpm store prune

  • 清空整个 pnpm 的缓存存储库

    pnpm store clear

2.4 pnpm缓存深度清理

执行下面这句话:

pnpm store path

然后我们看到这个路径

进入这个目录,将这3个文件夹都手动删除

2.5 pnpm install

删完之后,执行pnpm install

pnpm install

2.6 pnpm dev

等待依赖安装完毕后,我们执行pnpm dev

pnpm dev

程序运行成功

3 pnpm 安装依然失败解决方案

当我们试了各种方法还是不行,诶?这个时候我们返璞归真,是不是我们的pnpm的源下载不了的原因呢?国内的pnpm下载出现网络相关的问题还是挺多的,那么让我们来替换成国内专属的pnpm源试试

3.1 国内可用源

3.1.1 淘宝pnpm源

https://registry.npmmirror.com

3.1.2 腾讯云pnpm源

https://mirrors.cloud.tencent.com

3.1.3 cnpm源

https://r.cnpmjs.org/

3.2 设置国内可用源命令

pnpm config set registry https://registry.npmmirror.com

3.3 查看设置的源

pnpm config get registry

返回信息内容是你刚刚设置地址,即设置成功。

3.4 再次pnpm install

ok,pnpm相关依赖在徐徐下载,我的终于又又装成功了~

4 遗留的瑕疵

项目虽然可以成功运行了,也可以正常写代码的了,但是终端还有几个warning ,如果有大佬知道如何解决也可以指点一下,感谢~

相关推荐
小曲曲1 小时前
接口上传视频和oss直传视频到阿里云组件
javascript·阿里云·音视频
学不会•2 小时前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
EasyNTS3 小时前
H.264/H.265播放器EasyPlayer.js视频流媒体播放器关于websocket1006的异常断连
javascript·h.265·h.264
活宝小娜4 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点4 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow4 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o4 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā5 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年7 小时前
react中useMemo的使用场景
前端·react.js·前端框架