我需要在没有互联网连接的计算机上安装win32-api
和antlr3
。如果有这样的联系,我会像这样使用宝石:
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
虽然我以前安装过它。
有人可以向正确的方向暗示从这里继续吗?
答案 0 :(得分:9)
尝试,
gem install --local path / to / file.gem
答案 1 :(得分:1)
我在VM上遇到了一些问题。虚拟机故意无法上网(运动鞋网测试机),但仍配置了一些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。
答案 2 :(得分:0)
gem
将首先查看.gem
个文件后的当前目录。尝试在具有Internet连接的计算机上下载要安装的gem的.gem
个文件(并且不要忘记依赖项),然后将文件移到另一台计算机上并运行gem install xyz
放置.gem
文件的目录。