- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个基于 thor 的 Ruby 脚本,但我想将它作为 gem 部署在人们的 bin
目录中,人们无需执行 thor mytool
即可访问。
所以他们只会使用 mytool
这可能吗?
我知道使用 vanilla optparse
是可行的,但如果可能的话我宁愿使用 Thor。
更新:这是我根据 Thor 页面上的示例使用的代码,但出现以下错误:
#!/usr/bin/env thor
class App < Thor
map "-L" => :list
desc "install APP_NAME", "install one of the available apps"
method_options :force => :boolean, :alias => :string
def install(name)
user_alias = options[:alias]
if options.force?
# do something
end
# other code
end
desc "list [SEARCH]", "list all of the available apps, limited by SEARCH"
def list(search="")
# list everything
end
end
错误:
/usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/runner.rb:34:in `method_missing': undefined method `start' for nil:NilClass (NoMethodError) from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/task.rb:22:in `send' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/task.rb:22:in `run' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/task.rb:108:in `run' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/invocation.rb:118:in `invoke_task' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor.rb:246:in `dispatch' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/lib/thor/base.rb:389:in `start' from /usr/lib/ruby/gems/1.8/gems/thor-0.14.0/bin/thor:6 from /usr/bin/thor:19:in `load' from /usr/bin/thor:19
最佳答案
制作shebang线
#!/usr/bin/env ruby
然后在脚本末尾添加
App.start
关于ruby - 可以在不调用 thor 的情况下调用可执行的 Thor-powered 脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3584731/
我已经创建了一个 .thor 脚本来按照我喜欢的方式设置一个新的 ruby 项目。我正在使用 Thor::Actions directory 命令完全从模板目录结构构建应用程序,而不是使用 her
我想访问 Thor::Actions ( http://textmate.rubyforge.org/thor/Thor/Actions.html) 中的一些很棒的辅助方法,但如果不使用 Thor C
我有一个基于 thor 的 Ruby 脚本,但我想将它作为 gem 部署在人们的 bin 目录中,人们无需执行 thor mytool 即可访问。 所以他们只会使用 mytool 这可能吗? 我知道使
有没有办法让雷神有两个互斥的选项?例如,我需要提供一个列表选项。我可能有一个选择 -l ent1 ent2 ent3 ent67 ,我可能有一个选项 -f我传递了一个包含内容的文件 ent1 ent2
我正计划制作我的第一个命令行工具,并且想知道命名和命令是如何工作的。 我希望我的工具的功能与 Git 类似,因为您只需安装它,然后只需输入 git clone 或 git commit 即可运行命令。
我必须使用这个命令来运行我的 ruby 程序: $ruby filename.rb NAME --from="People" --yell 我有这样的脚本: require 'thor' class
我正在使用 Thor 编写 CLI gem。现在我有两个子命令,我想用连字符连接它们的名称。但我不知道如何让它发挥作用。 这是主类 module CLI class Base Could not
当我运行 thor 任务时,是否可以先调用特定任务? 我的 Thorfile: class Db < Thor desc "show_Version", "some description ...
我正在使用 Thor 内置操作“copy_file”从我的模板源复制文件,覆盖现有文件。 我总是想覆盖,不想以交互方式确认这一点。 文档并未建议此操作的配置哈希中有强制选项,但 http://text
我想将一个值合并到一个 Thor option hash 中. 如果我只是使用合并,我会得到一个错误,HashWithIndifferentAccess 我已经阅读了文档,但我很难理解如何让它工作。我
我想使用 Thor 在 Ruby 中创建一个命令行工具。此工具应打包为 gem,以便轻松安装和卸载。 创建并发布 gem,我已经完成了。我还创建了几个同样有效的 Thor 脚本。但是,我不知道如何将它
是否可以创建一个接受命名空间的基于 Thor 的 Ruby 可执行文件?例如,允许从命令行执行以下操作:./thorfile greet:formal 鉴于我有以下 thorfile: #!/usr/
这是我的 Ruby 代码: require 'thor' require 'thor/group' module CLI class Greet :string, :description
我是 Thor(和 Ruby)的新手,我正在考虑在构建脚本中使用它,因为据说它可以替代 Rake(从而替代 Make)。然而,经过短暂的试用,我对它返回的错误状态感到困惑。我快速浏览了 wiki,但没
雷神维基页面,Making an Exectable , 向您展示了如何创建一个看起来像这样的 thor 支持的 CLI 命令: 庆典 ./mythorcommand foo 这需要您将 thor 任
我正在寻找一种在 thors 模板操作中将选项传递给 ERB 模板引擎的方法。 我偶然发现了像这样使用 thors 模板操作的 bundler cli 源代码: opts = {:name => na
my_gem 你好 name1 name2 name3 给我一个 my_gem hello requires at least 1 argument: my_gem hello name 我应该只解析
我正在使用 Thor 并尝试将 YAML 输出到文件。在 irb 中,我得到了我所期望的。 YAML 格式的纯文本。但是当 Thor 中的方法的一部分时,它的输出是不同的...... class Fo
是否可以使用 Thor Action 从文件中删除一行文本。例如我想删除 ruby 评论。到目前为止,我已经找到了 2 个操作:comment_lines - 注释行,以及 gsub_file 谢谢
我刚刚开始使用 Thor。我一直在查看文档,但找不到任何隐藏任务的代码示例。我想要的是这样的, desc "configure", "Do the configuration" def configu
我是一名优秀的程序员,十分优秀!