Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了测试一个ruby宝石二进制大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个具有二进制文件的ruby宝石.

我正在尝试开发二进制文件,但是我担心它没有找到我的要求,因为宝石没有安装作为一个宝石有没有一种方式来测试二进制,而不是将其作为宝石包装?

#!/usr/bin/env ruby

require "middleman_ember_scaffold/load_paths"

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

坐在一个名为mse和ive的文件中,将我的bin文件夹的gem添加到路径

.
└── 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

当我跑步我得到

/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>'

我希望能够在每次我改变的时候重新打包,而不必再重新打包.

解决方法

使用RUBYLIB环境变量

您所面临的问题是,您的源目录没有得到一些应用于安装的gem的魔术,因此在$LOAD_PATH中没有您的lib目录.然还有其他方法来处理这个问题,但是对于测试,我建议您只需将lib目录添加到RUBYLIB环境变量中即可.例如:

RUBYLIB="/path/to/middleman_ember_scaffold/lib:$RUBYLIB"
export RUBYLIB
bin/mes

应该适用于任何兼容Bourne的外壳.如果您正在运行Bash,并且RUBYLIB中没有其他内容,您甚至可以将调用缩短到:

RUBYLIB="/path/to/middleman_ember_scaffold/lib" bin/mes

无论哪种方式,一旦Ruby知道应该添加到$LOAD_PATH的目录,一切都应该正常工作.

大佬总结

以上是大佬教程为你收集整理的测试一个ruby宝石二进制全部内容,希望文章能够帮你解决测试一个ruby宝石二进制所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。