2012-11-09 3 views
1

Ruby IronWorker는 RubyGems에 게시되지 않은 개인 보석에 달려 있습니다.IronWorker에서 로컬 보석 의존 물을 묶는 방법

로컬 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 파일을 통해 작동하도록하려고합니까? 아니면 사용자 지정 빌드 단계를 지정해야합니까?

답변

2

지금까지 내가 아는 한 git 및 로컬 경로는 현재 지원되지 않습니다. 여기 수동 지역의 보석을 포함하는 방법이다 : 파일을 .worker 다음 줄을 추가합니다 :

dir '../vendor/bundle/mygemname', '__gems__/gems' 
file '../vendor/bundle/mygemname/mygemname.gemspec', '__gems__/specifications' 
+0

다음은 나를 위해 작동하는 기술이다 –

3

하여 게시되지 않은 보석 자체가 의존성이있는 경우, 당신이가는 것을 얻을 수있는 약간의 마사지를 할 필요가있다. 난 당신의 게시되지 않은 보석이 의존성을 가지고 어디에 경우를 처리하는 방법을 보여주는 아래의 몇 가지 세부 사항을 추가 한

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.1 
관련 문제