由于package命名习惯及各种历史原因,不同开发者对类似功能的package命名有可能一样,或者package的更新不是兼容之前老版本。比如本人之前使用的R package recharts ,目前这个包换到统计之都维护更新
解决方案:是package的名称不一致,针对github操作,其他类似
- fork原package到自己的github仓库
devtools::install_github('madlogos/recharts') # 原package
# devtools::install_github('xwydq/recharts-1') 已经存在recharts仓库所以追加后缀1
- clone到本地修改包名rechartsX
git clone git@github.com:xwydq/recharts-1.git
# recharts 替换为 rechartsX
sed -i "s/recharts/rechartsX/g" `grep recharts -rl ./test/recharts-1`
# git相关配置不能修改(还原),不让push失败
sed -i "s/rechartsX/recharts/g" `grep rechartsX -rl ./test/recharts-1/.git`
git commit -am "rename X"
git push
- 安装修改后的包
devtools::install_github('xwydq/recharts-1')
library(rechartsX)
# 一般情况下可以正常使用,如果原包中有函数名包含recharts,那直接全局替换会有些问题