有没有办法从其 Github 存储库(或者更具体地说,一个分支)而不是从 Rubygems 安装 Ruby gem?
我试过了
gem_package 'some_gem' do
source 'git://github.com:user/some_gem.git'
end
我明白了
Gem::Exception
--------------
Cannot load gem at [git://github.com:user/some_gem.git] in /
Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/some_recipe/recipes/default.rb
15: gem_package 'some_gem' do
16: source 'git://github.com:user/some_gem.git'
17: end
18:
Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/some_gem/recipes/default.rb:15:in `from_file'
gem_package("some_gem") do
provider Chef::Provider::Package::Rubygems
action :install
retries 0
retry_delay 2
package_name "some_gem"
source "git://github.com:user/some_gem.git"
cookbook_name :some_cookbook
recipe_name "default"
end
我还对源 https://github.com/user/some_gem
进行了相同的尝试,但出现错误 Illformed requirement [""]
。
最佳答案
我不确定这是完成任务的最佳方式,但我能够以这种方式完成它:
# temporarily install gem from fork
git '/usr/local/src/mosql' do
repository 'https://github.com/roadtrippers/mosql.git'
end
execute 'gem build mosql.gemspec' do
cwd '/usr/local/src/mosql'
end
gem_package 'mosql' do
source '/usr/local/src/mosql/mosql-0.2.0.gem'
end
mosql 是我正在安装的 fork gem 的名称。
这里要注意的是版本被放入 .gem 文件的名称中,所以我必须提前知道。
关于ruby - 使用 Chef 从 Github 存储库安装 Ruby gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19367458/