gem 安装好后,如何导出给另一相同环境但没有网络的系统使用?
试试在有网络的环境上使用 rbenv gem install 完,然后把整个 ~/.rbenv 目录复制过去。我自己没这样处理过,不知道 build native extension 的 gem 会不会有问题。
最好的方法当然是接上网络。
OS 完全一致的话,可以试试 https://bundler.io/guides/deploying.html 坑主要是二进制,需要你两台机器都提前装好依赖,版本尽量一致
该方法应该可行。最简单的应该就是通过bundle install --deployment
安装好相关的包,然后把整个目录 copy 过去。不过可能也会有问题,像 mysql,pg 这些相关的 gem 包编译的时候会依赖系统级别的的相关库,如果这些库没有安装的话就算把 Gem 包 copy 过去也无法使用相关的数据库服务。要一步步来解决这些依赖问题跟构建一个 docker 镜像的感觉差不多,还是挺麻烦的。