关于 lerna 运行本地和全局的问题

关于 lerna 运行本地和全局的问题

webstorm 下打开 lerna 3.22.1 的源码,终端输入 lerna -v 打印出当前项目的版本

http://img1.sycdn.imooc.com//climg/60e33a9009e0202813651200.jpg


而在 vscode 打开同一个项目,终端输命令 lerna -v 却是全局安装的 lerna 4.0.0 的

http://img1.sycdn.imooc.com//climg/60e33a5d09aa9bff08251051.jpg


单独在终端运行也是走的全局的 lerna 4.0.0版本

http://img1.sycdn.imooc.com//climg/60e33d5b09779e6705680189.jpg

这就让我很纳闷了,琢磨半天也没想通,求老师解惑

我的系统是 windows 的,终端在 vscode 和 webstorm 上用的全是 git 的 bash 

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
扬_灵 2021-07-06 08:52:01

同学你好,从上图来看在webstorm查询lerna版本的时候是进入了项目中的node_modules中去获取版本,而在vscode中是直接从全局获取的lerna版本,你可以在vscode中打断点看一下这里import-local执行流程。

  • 提问者 起点丶 #1

    调试过了是走的项目中的node_modules,调试是webstorm配置的调试环境,走本地项目我理解,但为什么我在非调试状态下直接输 lerna命令也是走的本地项目呢?而vscode却是走了全局的


    2021-07-06 09:52:57
  • 提问者 起点丶 #2

    这是webstorm的调试配置

    http://img1.sycdn.imooc.com//climg/60e3b7a30992f7f112410639.jpg

    http://img1.sycdn.imooc.com//climg/60e3b7bb0926aff717611121.jpg


    2021-07-06 09:57:39
  • 扬_灵 回复 提问者 起点丶 #3

    同学你好,如果你通过npm link 把lerna添加到全局后lerna -v就会走到node_modules中lerna,而vscode中还是会走到全局这种就比较奇怪,我在本地也无法复现。可以把你的QQ发一下吗,我们远程调试一下。

    2021-07-06 17:35:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师