RubyでThorを使用してCLI宝石を構築しています。私はrake install
を実行し、rake build
を実行してからgemをローカルにインストールするタスクを実行します。しかし、私はコマンドラインでそれを実行しようとすると、コマンドを見つけることができません。宝石はsmokestack
と呼ばれていますので、理論的には私はをにインストールすると端末で実行できるはずです。Ruby CLIを手動でテストする
構造:
├── CODE_OF_CONDUCT.md
├── Gemfile
├── Gemfile.lock
├── LICENSE.txt
├── README.md
├── Rakefile
├── bin
│ ├── console
│ ├── setup
│ └── smokestack
├── lib
│ ├── smokestack
│ │ ├── build.rb
│ │ ├── cli.rb
│ │ └── version.rb
│ └── smokestack.rb
├── pkg
│ └── smokestack-0.1.0.gem
├── smokestack.gemspec
└── test
├── build_test.rb
├── smokestack_test.rb
└── test_helper.rb
ビン/煙突:
#!/usr/bin/env ruby -wU
require 'smokestack'
Smokestack::Cli.start(ARGV)
あなたは、私がrake install
を実行したときから、ツリー内のpkg
フォルダを見ることができます。
smokestack 0.1.0 built to pkg/smokestack-0.1.0.gem.
smokestack (0.1.0) installed.
私はその後、私のターミナルでsmokestack
を実行して、エラーを取得:zsh: command not found: smokestack
私もgem install --local ~/path/to/gem/pkg/gem.gem
結果しようとしました:
Successfully installed smokestack-0.1.0
Parsing documentation for smokestack-0.1.0
Done installing documentation for smokestack after 0 seconds
1 gem installed
これをここに は、私がいることを実行したときの結果です同じ「コマンドが見つかりませんでしたエラー」になります。
質問このCLIをローカルで実行して、開発中にテストする方法を教えてください。
現在のプロジェクトと理想的にやりとりするので、bundle exec bin/smokestack
を自分のディレクトリ内で実行するだけで、必要な結果が得られません。とにかくそれはシステムのCLIでなければなりません?
Here is the repo必要に応じて追加のコンテキスト。