umi 项目使用 pnpm 无法启动

看到各种开源项目从 yarn 迁移到 pnpm,心血来潮也想来尝试一下 pnpm 这款被吹爆的包管理工具。

项目之前使用的 yarn,需要将其 lock 文件转换一下。查阅文档 pnpm 提供了相应命令,直接使用就完事,nice。

▶ pnpm import /.../

完事后会生成 'pnpm-lock.yaml' 文件

├── package.json └── pnpm-lock.yaml

删除所有 node_modules 文件执行 pnpm install 重新安装依赖。

启动项目,然后一大堆报错,"Can't resolve 'xxx' in 'xxxx''。

研究文档发现,yarn 和 npm 会将所有依赖平铺在 node_modules,在项目中可以访问任何依赖的包。默认配置的 pnpm 创建 node_modules 时不会平铺依赖,我们需要将依赖提升至node_modules根目录。

创建 '.npmrc' 文件

shamefully-hoist=true

此配置将所有内容提升到node_modules的根目录,如果明确知道需要提升的包名,可以按如下设置

public-hoist-pattern[]=moment public-hoist-pattern[]=@umijs/* public-hoist-pattern[]=antd public-hoist-pattern[]=umi-request

__EOF__

本文作者叫我阿森就行
本文链接https://www.cnblogs.com/asen001/p/15875547.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   叫我阿森就行  阅读(2582)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示