← 戻る

CLI配布の仕組み - 開発中 vs リリース後


開発中のCLI実行方法

ビルドしたバイナリはプロジェクト内に生成されるため、PATHが通っていない。 実行するには毎回フルパスを指定するか、手動でPATHに通す必要がある。

# 方法1: シンボリックリンクでPATHの通った場所に配置
ln -s $(pwd)/target/release/my-cli /usr/local/bin/my-cli

# 方法2: cargo install(~/.cargo/bin/ に配置される)
cargo install --path .

リリース後の配布

ユーザーはパッケージマネージャ経由でインストールする。内部的にやっていることは同じ(PATHが通った場所にバイナリを置く)。

cargo install my-cli       # crates.io
brew install my-cli        # Homebrew
npm install -g my-cli      # npm (Node製CLIの場合)

ポイント

  • npm i -gcargo install が「魔法」に見えるが、本質は PATHの通ったディレクトリにバイナリを配置する だけ
  • 開発中は手動で同じことをしているに過ぎない
  • ln -s はショートカット作成。実体はビルドディレクトリにあるまま