node.js项目安装依赖包强烈建议不要用直接使用cnpm安装,会有各种诡异的bug

分类:计算机 | 前端 | 综合 1140
更新:2022-04-16 18:41:38
编辑

cnpm存在的问题

在node.js项目中下载依赖包时一般的方法是使用命令:npm install进行下载,这个是从官方的仓库中下载依赖包,速度会比较慢,为了加载下载速度,我们会选择国内的镜像站来下载,安装一个cnpm命令行工具来代替默认的npm工具。

但是从我自己对cnpm的使用经验,包括网上其他一些人分享的经验来看,cnpm有着不少的问题:

1、首先是我自己的使用经验,我发现有的项目用cnpm下载下来的node_modules文件夹在压缩成压缩包的时候会失败。

2、有个开源项目的作者(陌溪-蘑菇博客)在其开源项目的帮助文档中就提到了强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug

3、还在另外一篇网络博客中看到有人说同样一个包,通过cnpm install安装与npm install安装的结果不一样。

解决办法

那么,既然不建议使用cnpm进行node依赖包的下载,又想要下载速度快,应该怎么办呢?可以通过下面的方法来实现:

1 重新指定 registry:

# 使用淘宝镜像源进行依赖安装,解决国内下载缓慢的问题(出现警告可以忽略)
npm install --registry=https://registry.npm.taobao.org

或者在项目根目录下面创建一个文件.npmrc,在这个文件里写入:

registry=https://registry.npm.taobao.org

然后执行npm install命令即可。

有些项目根目录下可能有个.npmrc的文件,点开一看只有一句话 registry=http://registry.npm.xxxx.com; 就是npm 仓库镜像地址; 在npm i 的时候,如果项目根目录下有这个文件,会自动从这个镜像地址下安装node_modules,不需要手动设置镜像地址。

2 可使用yarn替代npm