赞
踩
虽然可以通过cnpm的命令去淘宝镜像去下载依赖包,但是cnpm本身的槽点太多,项目开发时总会有各种奇怪的问题,所以还是用回npm或者yarn来安装依赖包。但是npm/yarn原本的镜像下载依赖包的速度很慢,为了更快安装依赖包,我们可以把npm/yarn原本镜像的地址改为淘宝的镜像地址,这样既可以用npm/yarn指令安装包,又是从淘宝的镜像下载的,速度会比以前快很多。
1、package.json与package-lock.json文件的作用
npm 5版本,新增了一个package-lock.json文件。package-lock.json的主要作用就是锁定依赖项的安装目录和依赖包的版本信息。
package.json文件记录你项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新(最新版本的nodejs不会更新,因为有package-lock.json文件)。另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。 因此,正因为有了package-lock.json文件锁定版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install packagename(自动更新小版本号)或者npm install packagename@x.x.x(指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。
说明:当package.json与package-lock.json都不存在,执行"npm install"时,node会重新生成package-lock.json文件,然后把node_modules中的模块信息全部记入package-lock.json文件,但不会生成package.json文件,此时,你可以通过"npm init --yes"来生成package.json文件。
package-lock.json存在,如果使用cnpm install安装时,是不会去从package-lock.json中读取依赖包的版本信息的(针对项目开发,我们有时是不需要频繁更新依赖包的,cnpm的坑就在此)。
2、查看NPM的镜像地址
npm get registry
官方默认镜像为:https://registry.npmjs.org/
2.1 替换为淘宝镜像地址
npm config set registry https://registry.npm.taobao.org/
2.2 设置回官方镜像地址
npm config set registry https://registry.npmjs.org/
3、查看YARN的镜像地址
yarn config get registry
官方默认镜像为:https://registry.yarnpkg.com
3.1 替换为淘宝镜像地址
yarn config set registry https://registry.npm.taobao.org/
3.2 设置回官方镜像地址
yarn config set registry https://registry.yarnpkg.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。