我有一个RubyGems,它依赖于一个没有发布到RubyGems的私有gem。
有没有办法将这个本地mygemname-0.0.1.gem合并到我的.worker文件的IronWorker中?
我希望能够在myruby.worker中指定以下内容:
gem 'mygemname', '>=0.0.1', :path=> 'vendor/bundle'目前,这会给出以下错误
.rvm/gems/ruby-1.9.3-p0/gems/iron_worker_ng-0.12.2/lib/iron_worker_ng/code/base.rb:79 :in `eval':
wrong number of arguments (3 for 2) (ArgumentError)对默认值的期望提供了:
gem 'mygemname', '>=0.0.1'给出以下错误
Could not find gem 'mygemname (>= 0.0.1) ruby' in the gems available on this machine. 我试图通过.worker文件使其正常工作,这是正确的吗?或者,我是否应该考虑指定自定义构建步骤?
发布于 2012-11-09 23:51:06
据我所知,git和本地路径目前不受支持。以下是手动包含本地gem方法:将以下代码行添加到.worker文件:
dir '../vendor/bundle/mygemname', '__gems__/gems'
file '../vendor/bundle/mygemname/mygemname.gemspec', '__gems__/specifications'发布于 2012-11-12 15:44:46
如果您未发布的gem本身具有依赖关系,则需要进行一些调整以使其正常运行。以下是一种适用于我的技术:
mygem.worker
runtime "ruby"
#Merge in an unpublished local gem
dir '../opensource-cli-tools/facebook_exporter', '__gems__/gems'
file '../opensource-cli-tools/facebook_exporter/mygem.gemspec', '__gems__/specifications'
#Merge in a custom build script to fetch the unpublished gem's dependancies
file "Gemfile"
file "install_dependancies.sh"
remote_build_command 'chmod +x install_dependancies.sh && ./install_dependancies.sh'
#Run the puppy!
exec "run.rb"install_dependancies.sh
echo "Installing dependancies to __gems__/"
gem install bundler --install-dir ./__gems__ --no-ri --no-rdoc
bundle install --standalone --path ./__gems__
cp -R ./__gems__/ruby/*/* ./__gems__
rm -rf ./__gems__/ruby
echo "Fixing install location of mygem"
mv ./__gems__/gems/mygem ./__gems__/gems/mygem-0.0.1https://stackoverflow.com/questions/13305823
复制相似问题