如何使用捆绑为独立的gem?

时间:2017-06-07 19:06:46

标签: ruby rubygems

我无法控制Jenkins CI服务器上安装的gem,因此我需要从源目录中运行slather

我用过" bundle --standalone"将slather打包成一个包含所有依赖项的独立单元。

现在我一直坚持如何从另一个Ruby脚本中调用slather。 Slather是一个从LLVM profdata文件生成覆盖率报告的应用程序。我现在有了如下所示的目录结构,正确安装了依赖项,并且在ruby bin目录中。

我需要从另一个目录中调用slather。我试过以下没有运气......

ruby -r ../../slather/bundler/setup.rb ../../slather/ruby/2.0.0/bin/slather

这会产生以下错误:

ruby -r ../../slather/bundler/setup.rb ../../slather/ruby/2.0.0/bin/slather
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find 'slather' (>= 0) among 19 total gem(s) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:307:in `to_spec'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from ../../slather/ruby/2.0.0/bin/slather:22:in `<main>'

所以,我想也许从ruby脚本可能更容易。我的脚本中有以下内容:

begin
  require_relative '../../slather/bundler/setup'
rescue LoadError
  STDERR.puts 'Could not load bundler setup file'
  exit 100
end

这部分似乎工作正常,我相信它正在加载setup.rb文件中的设置。 Ruby并不是我的强项,因此我无法解决如何在Ruby脚本或bash脚本中调用slather。

如果有人能告诉我如何从命令行或Ruby脚本中调用slather,我真的很感激帮助。我也看过综合,但这对我的需求似乎很重要。

setup.rb在slather / bundler中。 slather位于slather / ruby​​ / 2.0.0 / bin目录中。

slather
├── bundler
└── ruby
    └── 2.0.0
        ├── bin
        ├── build_info
        ├── cache
        ├── gems
        │   ├── CFPropertyList-2.3.5
        │   │   └── lib
        │   │       └── cfpropertylist
        │   ├── activesupport-4.2.8
        │   │   └── lib
        │   │       └── active_support
        │   │           ├── cache
        │   │           │   └── strategy
        │   │           ├── concurrency
        │   │           ├── core_ext
        │   │           │   ├── array
        │   │           │   ├── big_decimal
        │   │           │   ├── class
        │   │           │   ├── date
        │   │           │   ├── date_and_time
        │   │           │   ├── date_time
        │   │           │   ├── digest
        │   │           │   ├── file
        │   │           │   ├── hash
        │   │           │   ├── integer
        │   │           │   ├── kernel
        │   │           │   ├── module
        │   │           │   ├── numeric
        │   │           │   ├── object
        │   │           │   ├── range
        │   │           │   ├── string
        │   │           │   └── time
        │   │           ├── dependencies
        │   │           ├── deprecation
        │   │           ├── inflector
        │   │           ├── json
        │   │           ├── locale
        │   │           ├── log_subscriber
        │   │           ├── multibyte
        │   │           ├── notifications
        │   │           ├── number_helper
        │   │           ├── testing
        │   │           ├── values
        │   │           └── xml_mini
        │   ├── claide-1.0.2
        │   │   └── lib
        │   │       └── claide
        │   │           ├── ansi
        │   │           └── command
        │   ├── clamp-0.6.5
        │   │   ├── examples
        │   │   ├── lib
        │   │   │   └── clamp
        │   │   │       ├── attribute
        │   │   │       ├── option
        │   │   │       ├── parameter
        │   │   │       └── subcommand
        │   │   └── spec
        │   │       └── clamp
        │   │           ├── option
        │   │           └── parameter
        │   ├── colored2-3.1.2
        │   │   ├── lib
        │   │   │   └── colored2
        │   │   └── spec
        │   │       └── colored2
        │   ├── i18n-0.8.4
        │   │   ├── gemfiles
        │   │   ├── lib
        │   │   │   └── i18n
        │   │   │       ├── backend
        │   │   │       ├── core_ext
        │   │   │       │   ├── kernel
        │   │   │       │   └── string
        │   │   │       ├── gettext
        │   │   │       ├── interpolate
        │   │   │       ├── locale
        │   │   │       │   └── tag
        │   │   │       └── tests
        │   │   │           └── localization
        │   │   └── test
        │   │       ├── api
        │   │       ├── backend
        │   │       ├── core_ext
        │   │       ├── gettext
        │   │       ├── i18n
        │   │       ├── locale
        │   │       │   └── tag
        │   │       └── test_data
        │   │           └── locales
        │   │               └── invalid
        │   ├── mini_portile2-2.1.0
        │   │   ├── lib
        │   │   │   └── mini_portile2
        │   │   └── test
        │   │       └── assets
        │   │           ├── git
        │   │           └── test\ mini\ portile-1.0.0
        │   ├── minitest-5.10.2
        │   │   ├── lib
        │   │   │   ├── hoe
        │   │   │   └── minitest
        │   │   └── test
        │   │       └── minitest
        │   ├── nanaimo-0.2.3
        │   │   ├── bin
        │   │   └── lib
        │   │       └── nanaimo
        │   │           ├── unicode
        │   │           └── writer
        │   ├── nokogiri-1.6.8.1
        │   │   ├── bin
        │   │   ├── ext
        │   │   │   └── nokogiri
        │   │   ├── lib
        │   │   │   ├── nokogiri
        │   │   │   │   ├── css
        │   │   │   │   ├── decorators
        │   │   │   │   ├── html
        │   │   │   │   │   └── sax
        │   │   │   │   ├── xml
        │   │   │   │   │   ├── node
        │   │   │   │   │   ├── pp
        │   │   │   │   │   ├── sax
        │   │   │   │   │   └── xpath
        │   │   │   │   └── xslt
        │   │   │   └── xsd
        │   │   │       └── xmlparser
        │   │   ├── patches
        │   │   ├── suppressions
        │   │   ├── tasks
        │   │   └── test
        │   │       ├── css
        │   │       ├── decorators
        │   │       ├── files
        │   │       │   ├── bar
        │   │       │   ├── foo
        │   │       │   ├── saml
        │   │       │   └── test_document_url
        │   │       ├── html
        │   │       │   └── sax
        │   │       ├── namespaces
        │   │       ├── xml
        │   │       │   ├── node
        │   │       │   └── sax
        │   │       └── xslt
        │   ├── thread_safe-0.3.6
        │   │   ├── examples
        │   │   ├── ext
        │   │   │   ├── org
        │   │   │   │   └── jruby
        │   │   │   │       └── ext
        │   │   │   │           └── thread_safe
        │   │   │   │               ├── jsr166e
        │   │   │   │               │   └── nounsafe
        │   │   │   │               └── jsr166y
        │   │   │   └── thread_safe
        │   │   ├── lib
        │   │   │   └── thread_safe
        │   │   │       └── util
        │   │   ├── spec
        │   │   │   ├── src
        │   │   │   │   └── thread_safe
        │   │   │   ├── support
        │   │   │   └── thread_safe
        │   │   ├── tasks
        │   │   └── yard-template
        │   │       └── default
        │   │           ├── fulldoc
        │   │           │   └── html
        │   │           │       └── css
        │   │           └── layout
        │   │               └── html
        │   ├── tzinfo-1.2.3
        │   │   ├── lib
        │   │   │   └── tzinfo
        │   │   └── test
        │   │       ├── tzinfo-data
        │   │       │   └── tzinfo
        │   │       │       └── data
        │   │       │           ├── definitions
        │   │       │           │   ├── America
        │   │       │           │   │   └── Argentina
        │   │       │           │   ├── Australia
        │   │       │           │   ├── Etc
        │   │       │           │   └── Europe
        │   │       │           └── indexes
        │   │       └── zoneinfo
        │   │           ├── America
        │   │           │   └── Argentina
        │   │           ├── Australia
        │   │           ├── Etc
        │   │           ├── Europe
        │   │           ├── posix
        │   │           │   └── Europe
        │   │           └── right
        │   │               └── Europe
        │   └── xcodeproj-1.5.0
        │       ├── bin
        │       └── lib
        │           └── xcodeproj
        │               ├── command
        │               ├── config
        │               ├── project
        │               │   └── object
        │               │       └── helpers
        │               ├── scheme
        │               └── workspace
        └── specifications

0 个答案:

没有答案