淘宝镜像cnpm更好替代方案

707 阅读2分钟

使用淘宝镜像使访问速度更快

npm原服务器地址在国外,所以我们使用npm源地址安装依赖包速度会非常慢,通常的解决方案是安装淘宝cnpm来访问国内的淘宝镜像地址,但cnpm容易出很多问题,下面介绍一种不用安装cnpm,直接更改安装包地址为淘宝地址的更好的解决方案。

cnpm槽点

package-lock.json存在,如果使用cnpm install安装时,是不会去从package-lock.json中读取依赖包的版本信息的

package.json与package-lock.json文件的作用

package.json文件记录你项目中所需要的所有模块。
执行npm install的时候,node会根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载.

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文件。

更改npm地址

查看当前npm地址

npm get registry

更改为淘宝镜像地址

npm config set registry https://registry.npm.taobao.org/

再次查看当前npm地址

npm get registry

修改成功后,使用npm 安装依赖包,也访问的是淘宝镜像地址了。