初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

最开始的开始,列出我的运行环境:

  • laravel:6.x
  • php:7.2
  • composer:2.0
  • Homestead:11.0.0(Homestead脚本对应分支为v12.1.0)
    故事要从一个报错说起,作为一个初学者,打算按照教程一步一步的走通一遍,看到第四章样式美化时,看到教程里写有Npm与Yarn,然而却推荐用Yarn, 不信邪的我打算试试看,看看npm真的这么饱受诟病嘛?然后就报错了,果然如此。以下是执行npm install报错截图,我的执行命令操作全部在Homestead虚拟环境里。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

出错了,难受,不过没关系。那我就跟着教程一起使用Yarn,在这之前,我需要通过rm -rf node_modules命令把node_modules目录删掉,然后执行yarn –help向yarn寻求帮助。教程里写的yarn install –no-bin-links 和 yarn add cross-env是什么意思大家可以百度一下,这个就不细说了。
执行yarn install –no-bin-links后,果然又快又好使,成功了,以下是成功截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程
接下来就到了让我挠到头秃的环节了,执行yarn add cross-env。
初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程
啊,yarn啊yarn,刚夸你两句你就飘了,你咋也报错啊。。因为之前我百度了–no-bin-links是什么意思,然后看着这个error后面的报错挺像是需要加这个条件的,于是我就把他加在了yarn add cross-env的后面,完整命令是yarn add cross-env@^7.0 –dev –no-bin-links,这里的@^7.0是指定了这个cross-env的版本号范围,–dev是装在开发环境里,满怀期待,执行了一下这个命令,耶,成功了,没有报错,我把cross-env装上了!以下是成功截图。(官网add后面没说可以加这个–no-bin-links条件,但是我执行却是ok的,这里不知道是为什么)

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

既然装上了,我就继续按照教程执行下一个命令:npm run watch-poll,这个是package.json里面的脚本命令,这里是脚本命令的截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程
这个命令执行后,啊又又又报错了,好难受啊,静下心来看看是咋回事,下面是报错截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程
个人理解是执行这个命令后他调来调去,最终去执行那个development脚本对应的内容了,开头一行sh:1 cross-env:not found,意思是cross-env没找到,什么?!不可能,我明明刚才都装上了。于是感觉是他这个cross-env并不是去找了我装的那个,那怎么找到我装的那个呢?他作为一个js,肯定是装到了node_modules目录里,我翻来翻去终于找到了他的目录所在,以下是目录截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程
应该是要让他找到cross-env.js就大功告成了,问题是怎么让他能找到呢, 既然cross-env没起到找到这个js的作用,那他这么写肯定不对,我更换成了node node_modules/cross-env/src/bin/cross-env.js,以下是更换截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

注:为什么这么做呢,大概意思就是node是运行在服务器端的js环境,去菜鸟教程查了一下,通过node 脚本名.js这条命令的执行就可以执行这个js了,也就是所谓的怎么去找个js。
好了,见证奇迹的时刻到了,我兴奋的敲下了npm run watch-poll,哈哈,这次不报错了,以下是成功截图。

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

不过令人遗憾的是,他虽不报错,但是在后面提示我你要想用这东西,你得先执行我Running:后面的这条命令。好吧,既然你提示了,我就装一下。噢不,你咋提示的是npm的命令,饱受诟病啊喂!我尝试着按他说的执行了一下,果然npm报错。果断换成yarn,yarn的完整命令是 yarn add vue-template-compiler –save-dev –production=false –no-bin-links

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

耶,果然yarn好使,我装好了!好了,万事大吉,cross-env找到了,于是只欠东风,让我来执行一下npm run watch-poll吧,看看这次结果如何!
执行命令后,令人心情超级愉悦,他不报错了,他可以正常执行了!我兴奋地拍起了手手,不容易啊不容易!以下是成功截图!

初学者与yarn add cross-env的‘爱恨情仇’,最终解决问题全过程

到这里,问题就得到解决了,ok,点个赞!
注:我看到评论区里都说删掉cross-env重新在执行就好了。但是吧,我就想试试不删能不能调好,出于这个动机,我尝试了很久,万幸最终成功了!失败的命令大家就不用去真正执行了,只执行成功了的那些命令就好!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!