npm install 原理是什么[已解决]

运行环境
windows10
npm5.6.0
复现
mkdirtest
cdtest
npminstall--save-devmocha
以上步骤操作下来,会显示安装成功但是在test文件夹下面没有自动生成node_modules文件夹
解决
mkdirtest
cdtest\
npminit
npminstall--save-devmocha
只要初始化一下npm,再安装就会自动生成node_modules文件夹
问题为什么会这样呢?npminstall的整个流程是怎么样的呢?
单从这个问题上来说,-dev依赖于package.json,package.json又必须通过Inti生成.所以会安装失败根本原因还是对Install的原理不熟悉,这个需要自己看源码
子衿沉夜
浏览 1075回答 2
2回答

饮歌长啸

你仔细看下命令行里的信息,第一遍安装会因为缺少package.json而失败,第二次才会成功。所以当然第二次能看到node_modules而第一次不能。npminit会生成package.json,而--save-dev要把包相关的信息记到package.json里,所以第一次就会失败;第二次能成功。其它的原理看源码吧。

拉丁的传说

不知你接触过git没,我举一个git的例子,看能不能对你有所帮助:当你在本地新建一个文件夹时,想把这个文件夹的东西放到github或者gitlab等上存起来怎么办?直接使用gitadd、gitpush之类的指令肯定不行,需要先初始化git,也就是执行gitinit之后会在目录下生成一个隐藏的文件夹.git,里面就放置了一些这个项目的git配置信息,包括仓库地址、用户名、上传方式等等,当然这些配置信息可以修改npm也是同样的道理,没有初始化,它就不知道干嘛,程序的执行也就没有参照点,而这个参照点就是初始化之后出现的配置文件或者文件夹,或许这个文件夹或者文件是隐藏的,你看不见,但是不同的系统有不同的方式是可以看见的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript