我想通过下载任何所需的文件并将它们带到另一台没有互联网连接的机器上来安装compass。我已经下载了compass的源代码包,当我在没有连接的机器上运行gem时,它会抱怨缺少依赖项。有什么解决方案吗?
guz6ccqo1#
这正是我遇到的问题。在搜索了一段时间后,我发现了一个使用Bundler https://bundler.io/的解决方案获取具有依赖项的Gem:
Gemfile
来源“http://rubygems.org“gem 'rails','3.2.1'
bundle install
bundle list
bundle package
vendor/cache
在没有互联网连接的机器上安装Gem:
gem install --local rails-3.2.1.gem
bq3bfh9z2#
是的
export GEM_HOME=. export GEM_PATH=. gem install --no-ri --no-rdoc --install-dir . <gem>
p3rjfoxz3#
嗯。这有点坚韧。gem dependency将显示一个gem的依赖关系,但它不会一直显示到树的下一层。
gem dependency
➔ 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)
“development”意味着只有当你开发gem本身时才需要它。“runtime”意味着你需要它来使用它。所以在这个例子中,唯一的依赖是haml。如果它是一个更复杂的gem,我不知道一个好的方法来生成整个树。
3条答案
按热度按时间guz6ccqo1#
这正是我遇到的问题。
在搜索了一段时间后,我发现了一个使用Bundler https://bundler.io/的解决方案
获取具有依赖项的Gem:
Gemfile
。来源“http://rubygems.org“
gem 'rails','3.2.1'
bundle install
bundle list
bundle package
vendor/cache
在没有互联网连接的机器上安装Gem:
gem install --local rails-3.2.1.gem
bq3bfh9z2#
是的
p3rjfoxz3#
嗯。这有点坚韧。
gem dependency
将显示一个gem的依赖关系,但它不会一直显示到树的下一层。“development”意味着只有当你开发gem本身时才需要它。“runtime”意味着你需要它来使用它。
所以在这个例子中,唯一的依赖是haml。如果它是一个更复杂的gem,我不知道一个好的方法来生成整个树。