bin私はトールベースのRubyスクリプトを持っていますが、人々が何もしなくてもヒットできるように、人々のディレクトリにgemとしてデプロイしたいと考えていますthor mytool。
代わりに、彼らはただ使用しますmytool
これは可能ですか?
バニラでそれが可能であることは知っていますoptparseが、可能であればトールを使用したいと思います.
更新:これは、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:`method_missing' 内: nil:NilClass の未定義メソッド `start' (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'
/usr/lib/ruby/gems/1.8/gems/thor-0.14.0/bin/thor:6 から
from /usr/bin/thor:19:in `load'
/usr/bin/thor:19 から