【发布时间】:2011-05-23 02:46:25
【问题描述】:
我想通过下载任何需要的文件并将它们带到另一台没有互联网连接的机器上来安装指南针。我已经下载了 compass 的源包,当我在未连接的机器上运行 gem 时,它抱怨缺少依赖项。有什么解决办法吗?
【问题讨论】:
-
我不知道你的用例是什么,但如果你还没有使用 Bundler,我敢打赌它会解决你的一些问题。上手简单,呼吸新鲜空气。
标签: ruby rubygems compass-sass
我想通过下载任何需要的文件并将它们带到另一台没有互联网连接的机器上来安装指南针。我已经下载了 compass 的源包,当我在未连接的机器上运行 gem 时,它抱怨缺少依赖项。有什么解决办法吗?
【问题讨论】:
标签: ruby rubygems compass-sass
这正是我遇到的问题。
经过一段时间的搜索,我找到了一个使用 Bundler https://bundler.io/
使用依赖项获取 Gem:
来源“http://rubygems.org”
宝石'rails','3.2.1'
在没有互联网连接的机器上安装 Gem:
gem install --local rails-3.2.1.gem
【讨论】:
bundle package --no-install 将跳过安装。
我做到了
export GEM_HOME=.
export GEM_PATH=.
gem install --no-ri --no-rdoc --install-dir . <gem>
【讨论】:
嗯。这有点难。 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。如果它是一个更复杂的宝石,我不知道生成整棵树的好方法。
【讨论】: