关于 npm 安装各种包较慢的问题

阿里镜像

npm 中相关的包在国内没有很好的支持,为此阿里提供了阿里镜像

使用1 cnpm

阿里镜像要求大家使用 cnpm 包来安装包,cnpm 安装如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org

或者使用 alias 指令:

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/mirrors/node \
--userconfig=$HOME/.cnpmrc"

#Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
  --cache=$HOME/.npm/.cache/cnpm \
  --disturl=https://npm.taobao.org/mirrors/node \
  --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

可以看出,cnpm 就是修改了包的原址、缓存位置、disturl 和用户环境配置文件位置,无其他修改,那么主要的就两条:

  • registry 包的源
  • disturl 针对 NodeJS 底层支持

如果你的项目没用到底层构建,那 --disturl 对你的用处并不大,不过建议改掉,因为你可能会遇到依赖 C++ 的包,这时 npm install 又会奇慢无比。详见这里

安装好后,使用 cnpm 命令代替 npm 命令即可。例如 npm install -g gatsby-cli 改为 cnpm install -g gatsby-cli

使用2 直接修改 npm 配置

可以使用以下命令直接修改 npm 的相关配置,实现对包来源的修改:

npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/mirrors/node

修改之后,直接使用 npm 命令即可,因为包的来源已经更改,速度和 cnpm 命令并无差别。不过这种方式污染了 npm 命令的原始配置。

使用3 一次性配置

在使用 npm 命令时,可以直接传入相关配置作为本次命令配置的初始化,比如:

npm install -g gatsby-cli --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node

这种方式很繁琐,且地址难以记忆,但是既不用安装 cnpm,也不用修改 npm 配置,干净。

代理

难免有的包会放到 github 上,比如 sharp,使用 npm install sharp 是很煎熬的,当然也可以去把包下到 cache 目录,免去下载的步骤。

如果你有代理,那么就可以使用 --proxy 指令用代理去下载,比如:

npm instal sharp --proxy=http://127.0.0.1:7890

具体代理接口需要自行查找,在 win 上点击 win 键搜索 「代理」即可。

代理不同于上述方式,有条件者可以使用。

其他

另外备注上原始目录:

  • registry:https://registry.npmjs.org/
  • disturl:默认为空

阿里镜像导航

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
npm安装依赖报错时,可能有多种原因导致。其中一种常见的错误是 "The package-lock.json file was created with an old version of npm"。这个错误提示说明package-lock.json文件是使用较旧的npm版本创建的。这可能是因为你在使用较新的npm版本时,使用了一个已经存在的package-lock.json文件。 为了解决这个问题,你可以尝试以下步骤: 1. 首先,你可以尝试删除已存在的package-lock.json文件和node_modules文件夹。你可以使用命令sudo rm -rf node_modules package-lock.json来删除它们。 2. 然后,你需要更新你的npm版本,以确保与package-lock.json文件兼容。你可以使用npm install -g npm命令来更新npm。更新完成后,重新运行npm install命令来安装依赖。 这样,你应该能够成功安装依赖并解决npm安装依赖报错的问题。请记得在进行这些操作之前备份你的项目文件,以防意外情况发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [前端-工作中 npm install 安装依赖报错常见总结](https://blog.csdn.net/inthat/article/details/120564807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值