package.json
中的依赖,一般都是从npm
中下载的,但是某些情况下,我们需要修改一些依赖的源码,于是我们fork
一下源码,做一些修改,然后把package.json
中的依赖从
"react-native-wechat": "^1.9.10",
变成:
"react-native-wechat": "https://github.com/KingAmo/react-native-wechat.git",
于是,react-native-wechat
这个包的下载地址就从npm
仓库(或者淘宝镜像)变成了你自己的github
仓库地址。
看似很美好是吧,但是对于不是来自npm仓库
的依赖,我们无法管理他的版本, npm install
或者 yarn
命令并不知道这个依赖是否有新的版本,该怎么去更新他。
在项目根目录下运行
yarn outdated
提示
Package | Current| Wanted | Latest | Package | Type | URL
react-native-wechat| 1.9.10 | exotic | exotic | dependencies | https://github.com/KingAmo/react-native-wechat.git
exotic
意思是
adj.异国的;外来的;异国情调的
yarn
警告这是一个外来(非npm仓库)的包,
当你再次修改了你fork
的仓库时,npm install
或者 yarn
并不会更新这个库,我试了清除npm
或者yarn
的缓存都没用(可能是我清除的姿势不对....)
最后我发现有个命令 yarn upgrade
,于是执行
yarn upgrade react-native-wechat
成功更新这个库!!
网友评论