gem在本地安装XYZ(无需连接到互联网)

我需要在没有互联网连接的计算机上安装win32-apiantlr3 。 如果有这样的连接,我会像这样使用gem:

 gem install win32-api -r gem install antlr3 -r 

这显然不会起作用。 所以,我认为应该有一种方法来下载gem并稍后安装它,但我不知道如何继续。

我找到了gem的which运算符,它似乎表示了gem的本地位置:

 c:\>gem which antlr3 c:/tools/Ruby187/lib/ruby/gems/1.8/gems/antlr3-1.8.8/lib/antlr3.rb 

但是,它在win32-api上不起作用:

 c:\>gem which win32-api ERROR: Can't find ruby library file or shared library win32-api 

虽然我以前安装过它。

有人可以暗示正确的方向从这里继续吗?

尝试,

gem install –local path / to / file.gem

我在VM上遇到了一些问题。 虚拟机故意没有上网(sneaker-net测试机),但仍配置了一些DNS服务器。

例如:

 $ gem install bundler-1.7.7.gem --local ERROR: While executing gem ... (Errno::ENETUNREACH) Network is unreachable - sendto(2) for "192.168.1.10" port 53 

192.168.1.10是VirtualBox配置的DNS服务器。 所以我要做的就是用/etc/resolv.conf注释掉; 在所有线的开头。 即使离开Goog​​le DNS也会破坏它。

 ; /etc/resolv.conf nameserver 8.8.8.8 ; nope. gem install --local doesn't like it ; You will get a Network is unreachable - sendto(2) for "8.8.8.8" port 53 

如果你注释掉所有/etc/resolv.conf,那么你可以在本地(从文件)安装gems。

 $ gem install bundler-1.7.7.gem --local Successfully installed bundler-1.7.7 Parsing documentation for bundler-1.7.7 Installing ri documentation for bundler-1.7.7 Done installing documentation for bundler after 4 seconds WARNING: Unable to pull data from 'https://rubygems.org/': no such name (https://rubygems.org/specs.4.8.gz) 1 gem installed 

Ruby gems版本:Ruby 2.1.5上的2.4.4。

gem将首先在.gem文件之后查看当前目录。 尝试下载要安装在具有Internet连接的计算机上的gems的.gem文件(并且不要忘记依赖项),然后将文件移动到另一台计算机并在放置的同一目录中运行gem install xyz .gem文件。