ruby - 测试 ruby​​ gem 二进制文件

标签 ruby ruby-on-rails-3 rubygems

我正在开发一个带有二进制文件的 ruby​​ gem。

我正在尝试开发二进制文件,但我担心它找不到我的要求,因为 gem 没有作为 gem 安装,有没有办法在不将其打包为 gem 的情况下测试二进制文件?

#!/usr/bin/env ruby

require "middleman_ember_scaffold/load_paths"

# Start the CLI
MiddlemanEmberScaffold::Cli::Base.start

位于名为 mse 的文件中,我已将我的 gem bin 文件夹添加到路径中

.
└── middleman_ember_scaffold
    ├── Gemfile
    ├── LICENSE.txt
    ├── README.md
    ├── Rakefile
    ├── bin
    │   └── mes
    ├── lib
    │   ├── middleman_ember_scaffold
    │   │   ├── cli.rb
    │   │   ├── load_paths.rb
    │   │   └── version.rb
    │   └── middleman_ember_scaffold.rb
    └── middleman_ember_scaffold.gemspec

4 directories, 10 files

当我运行 mes 时,我得到了

/Users/justin/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- middleman_ember_scaffold/load_paths (LoadError)
    from /Users/justin/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/justin/middleman-generator/middleman_ember_scaffold/bin/mes:7:in `<main>'

我希望能够在每次进行更改时无需重新打包即可运行和开发我。

最佳答案

可能“更好”的方法是执行以下操作:

$ ruby -I./lib bin/mes

它与更改加载路径的作用相同,但它仅针对您正在执行的命令。

关于ruby - 测试 ruby​​ gem 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327906/

相关文章:

Ruby - 捕获从方法体发送的方法调用

ruby-on-rails - 如何检查值是否包含在 ActiveRecord 验证的散列中?

ruby-on-rails - 如何在 ActiveRecord 中使用默认的 sql 表达式?

ruby - 无法使用正确的格式打印/写入文本

ruby-on-rails - 为评论添加线程和电子邮件订阅

ruby-on-rails - Ruby on Rails - 无法将 "\x89"从 ASCII-8BIT 转换为 xxx/xxxx/xxxx 的 UTF-8

ruby-on-rails - 我如何在 ruby​​ on rails 中修复未定义的方法 `alias_method_chain' 错误?

jquery - 无法将 jQuery gem 安装到 Rails

ruby-on-rails - 为什么我在 bundle exec 中执行环境后 rake 中止

ruby-on-rails - Rails 3 异常通知中的自定义部分