按依赖递归下载RubyGems的离线安装包
程序员文章站
2022-05-27 18:57:25
...
工作环境无法连接外网,在进行环境准备时经常遇到离线安装Ruby的gem包的情况,而包之间存在严苛的依赖,还需要注意版本,手工处理非常不方便,幸好bundle能帮忙处理这一问题。
比如需要离线安装rubocop的0.59.1版本,在能连接外网的主机上新建一个目录,比如offlinegems。
mkdir offlinegems
在此目录下新建Gemfile的文本文档,加入如下内容,这里使用清华大学的开源镜像源,速度非常快。
source "https://mirrors.tuna.tsinghua.edu.cn/rubygems/"
gem 'rubocop','0.59.1'
保存后在当前目录执行bundle命令安装所需的gem包。
bundle install
安装完成后执行如下的两个命令查看和准备离线安装包。
bundle list
bundle package
此时当前目录的vendor\cache子目录下已经准备好用于离线安装的gem包,一气呵成!
Updating files in vendor/cache
* ast-2.4.0.gem
* jaro_winkler-1.5.1.gem
* parallel-1.12.1.gem
* parser-2.5.1.2.gem
* powerpack-0.1.2.gem
* rainbow-3.0.0.gem
* ruby-progressbar-1.10.0.gem
* unicode-display_width-1.4.0.gem
* rubocop-0.59.1.gem