
---
title: 软件包管理        
date: 2022/4/25 10:00:00
tags:                    
- node.js
- npm
- package.json            
author: 王许晓         
---

# 背景
近期维护《安庆项目》（基于React.js实现的管理后台）时遭遇到与之前开发测试运行结果不同的问题。这次维护是从gitlab上重新clone下来的，没有缓存node_modules。使用npm命令下载依赖包，期间有过几次同步失败，重新尝试后项目可以运行起来。然后各种坑来了，首先是 KeepAlive 和 connect 一起使用时，props属性不能传递到组件中，然后 AntDesign的ProTable中的columns配置的属性order会影响table的列的排序，按文档说明看这个属性影响的应该是search项的排序，然后我检查了ProTable的更新日志并没有修复此bug的记录，这么严重的问题他们没有记录那么问题就出在我的代码里，暴力解决办法是删除node_modules重新下载，结果全好了。
# 软件包管理器
- npm:npm是一个软件包管理器，主要进行JAVAScript的包管理。通过npm，我们可以很方便地进行﻿JavaScript包的下载、升级。
- cnpm:CNPM 是中国 npm 镜像的客户端。
- yarn:yarn 并行执行下载安装任务，在性能上有显著的提高。yarn 和 npm 都使用加密哈希算法来确保包的完整性
- tyarn: yarn的国内镜像
- npmmirror 中国镜像站

> Web 站点：https://npmmirror.com
> Registry Endpoint：https://registry.npmmirror.com