项目安装依赖(使用npm, cnpm)需注意

原文链接: https://juejin.im/post/5c6120a36fb9a049f154a9f0

首先,当我们下载一个框架的脚手架之后,需要安装依赖才可以运行。此时你可能会使用淘宝镜像快一点,这时可能会出现很对奇怪的问题,比如:不能运行项目了。

最近,拿我的小程序来说,我使用的是 F-loat/mpvue-quickstart 一个脚手架,下载之后,我随手使用cnpm install安装依赖包,但是也可以运行起来。

问题来了:我把依赖包和package.lock.json删掉,或者别人从你的项目clone下来,安装依赖。我所需的依赖 mpvue-loader 更新了版本,然后使用cnpm install 之后运行会报错,删掉再用npm install 也错。错误如下:

如何解决:因为项目中之前有用过npm install 会生成package.lock.json的文件锁定了当前运行所依赖包的版本,所以我在仓库中找回package.lock.json的文件,之后直接使用npm install安装,就可以安装锁定的那个版本的依赖包,就可以成功运行了。

当然如果你的项目中没有package.lock.json文件,然后又出现上述错误的话,只能先找一个可以运行的版本手动修改依赖的版本号(我随意修改了一个mpvue-loader版本号和之前的不一样,然后可以运行,但是操作数组出现了一些小问题,页面不能实时更新数据,换回之前版本又可以了),然后使用npm install 或者yarn生成一个对应的lock.json文件进行版本的锁定。

对于安装项目的依赖包问题,最好初始化项目的时候使用yarn或者npm进行安装咯,生成对应的lock.json文件避免后续遇到问题。当然使用npm install安装确实生成了对应的lock.json文件,但是你删掉依赖重新安装,但是使用的是cnpm的话,还是会按照依赖包的最新版本安装,除非你在package.json文件中固定了依赖包的版本号。

你可能感兴趣的:(项目安装依赖(使用npm, cnpm)需注意)