下载所有gem依赖项
我想通过下载任何所需文件并将其带到另一台没有互联网连接的机器来安装指南针。 我已经下载了罗盘的源代码包,当我在非连接的机器上运行gem时,它会抱怨缺少依赖项。 有解决方案吗
这就是我遇到的问题。
经过一段时间的搜索,我找到了一个使用Bundler工作的解决方案http://gembundler.com/
获得具有依赖关系的gem:
- 使用名为Gemfile的文件创建一个新文件夹。
- 将您想要拥有依赖项的Source和Gem写入File
- BSP:
来源“ http://rubygems.org ”
gem’轨道’,’3.2.1′ - 在此文件夹中打开一个命令行和一个执行: 捆绑安装
- 这应该下载并安装所有Dependencys
- 如果你想看到它,执行命令包列表
- 执行Command 捆绑包
- 这应该创建目录结构供应商/缓存
- 在缓存目录中,现在是您的gem所需的所有Dependencys
在没有互联网连接的机器上安装Gem:
- 将缓存文件夹复制到计算机
- 在Cache文件夹中打开一个命令行并执行gem install –local Gemname.gem
- BSP:
gem install –local rails-3.2.1.gem
我做到了
export GEM_HOME=. export GEM_PATH=. gem install --no-ri --no-rdoc --install-dir .
嗯。 这有点难。 gem dependency
将显示一个gem的依赖项,但它不会一直向下到树。
➔ gem dependency compass Gem compass-0.10.5 haml (>= 3.0.4, runtime) Gem compass-0.10.6 haml (>= 3.0.4, runtime) ➔ gem dependency haml Gem haml-3.0.21 maruku (>= 0.5.9, development) yard (>= 0.5.3, development) Gem haml-3.0.22 maruku (>= 0.5.9, development) yard (>= 0.5.3, development) Gem haml-3.0.23 maruku (>= 0.5.9, development) yard (>= 0.5.3, development) Gem haml-3.0.24 maruku (>= 0.5.9, development) yard (>= 0.5.3, development)
“开发”意味着只有在您开发gem本身时才需要它。 “运行时”意味着你需要它来使用它。
所以在这种情况下,唯一的依赖是haml。 如果它是一个更复杂的gem,我不知道生成整棵树的好方法。