好吧,刚想用pnpm构建vuecli依赖的时候,就报这个错
在这里插入图片描述
既然是vuecli使用pnpm构建依赖的时候报错,那就从pnpm查起来吧。
首先是pnpm install 执行命令报的错,然后有两个参数–reporter=silent和–shamefully-hoist,去官网查了下。

第一个参数的意思是普通报错不显示,第二个参数是创建一个扁平node_modules 目录结构(不懂干嘛的)。

我一看!不得了,报错信息都不给我显示怎么行!

赶紧去@vue/cli的目录全局找了下关键词reporter(下图是我的目录,你们的目录就自己去找吧)
这是我的目录
最后在ProjectPackageManager.js文件中找到相关参数,然后再把报错提示给开起来,如下图
在这里插入图片描述
行吧!开起来后,总算看到报错了,原因是因为@vue/cli本身会携带vue-cli-plugin-eslint等等的插件,然而这些插件所依赖的包(比如说eslint和corel)是npm构建的,所以就不识别它们的依赖(不知道是不是不太符合pnpm的风格,所以不识别,我百度许多后,猜测有可能是因为npm对这几个依赖使用的是硬链接,所以pnpm就不识别)。

此时,我获得了惊喜,我开了报错提示后,看到的pnpm的提示:
在这里插入图片描述
哦!经过官网查询后,原来在.npmrc文件加入auto-install-peers=true就行了。

于是我又全局搜索关键字npmrc,改了下内容。
在这里插入图片描述

const pnpmConfig = (hasPnpmVersionOrLater('4.0.0')
        ? 'shamefully-hoist=true\n'
        : 'shamefully-flatten=true\n')
        + 'auto-install-peers=true'

重新开cmd窗口后,执行vue create project并选择pnpm,项目成功创建!
在这里插入图片描述
谢谢阅读了~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐