gem在本地安装XYZ(无需连接到互联网)
我需要在没有互联网连接的计算机上安装win32-api
和antlr3
。 如果有这样的连接,我会像这样使用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
注释掉; 在所有线的开头。 即使离开Google 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
文件。