インストール方法とインストール後のアップデート方法について説明します。
- インストール方法
- アップデート方法
GitHubㇼポジトリにある1ファイルをダウンロードして実行することにより、以下のインストール関連処理が行われます。
- 最新のリリースアーカイブをテンポラリディレクトリにダウンロード
- ダウンロードしたリリースアーカイブをテンポラリディレクトリ内で展開
- リリースアーカイブ内のインストーラ(
install.sh
)を実行 - テンポラリディレクトリを削除
- 以下のコマンドを実行します。これによりダウンロードとインストールを行うダウンロードインストーラがカレントディレクトリに保存されます。
curl https://raw.githubusercontent.com/bills-appworks/bsky-sh-cli/main/download-install.sh -O
- 以下のコマンドでダウンロードインストーラを実行します。全ユーザで利用する場合はスーパーユーザで実行してください。
スーパーユーザの場合:
sudo sh download-install.sh
一般ユーザの場合:
sh download-install.sh
Warning
以下のような直接実行は推奨しません。
curl https://raw.githubusercontent.com/bills-appworks/bsky-sh-cli/main/download-install.sh | sh
インストーラ内で行われる入力待ちが無効化されます。そのためインストール方法が選択できず、最後の確認待ち処理が無限ループしてインストールが実行できません。
sudo sh <(https://raw.githubusercontent.com/bills-appworks/bsky-sh-cli/main/download-install.sh)
ダウンロードしたファイルを標準入力としてスーパーユーザでの実行を行うと、環境によってはセキュリティ上の理由により実行が失敗します。
-
実行すると前記の概要に記した処理が行われます。リリースアーカイブ内のインストーラ実行は次の節を参照してください。インストールが完了するとテンポラリディレクトリに展開されたファイル群は削除されます。中断した場合は残りますので手動で削除してください。テンポラリディレクトリはインストール中に表示される"Install temporary directory:"の行で確認できます。
-
オプションパラメタを指定すると、そのままリリースアーカイブ内インストーラのオプションパラメタとして引き渡されます。
最新のリリースアーカイブに含まれる簡易インストーラ:install.sh
を実行することにより、お使いの環境にこのツールを導入することができます。
以下に実行する内容を記しますので、希望に合わない場合は手動インストールを参照してください。
必要に応じてインストール中に実行の確認や入力が求められます(install.shコマンドのオプションの指定によっては確認や入力は求められません)。
インストール処理にて環境変数PATH
を設定するログインスクリプトの作成または修正(追記)を行った場合、インストール完了直後は環境変数PATH
が設定されておりません。パス指定無しでbsky
コマンドを実行するためには改めてシェルにログインしてください。
- リリースアーカイブを展開したディレクトリにて、以下のコマンドでインストーラを実行します。全ユーザで利用する場合はスーパーユーザで実行してください。
スーパーユーザの場合:
sudo ./install.sh
一般ユーザの場合:
./install.sh
- サブディレクトリ
bin
とlib
配下のいくつかのファイルの存在確認をします。ディレクトリおよびファイルの構成が提供時と同じことを仮定しています。 - このツールの実行時に必要なコマンドの存在確認をします。存在しない場合はあらかじめ必要ツールのインストールをしてください。以下のコマンドが確認されます(バージョンに応じて変更の可能性があります)。
- 必須
curl
jq
sed
: GNU sedが必要となります。-z
オプション指定時のエラー有無で確認をします。
- 推奨
convert
(imagemagick) : 存在しない場合は画像やリンクカードの一部機能が使用できないことを示す警告を表示してインストールを続行します。file
(libmagic) : 存在しない場合は画像投稿やリンクカードが使用できないことを示す警告を表示してインストールを続行します。
- 必須
- サブディレクトリ
bin
とlib
およびその配下のファイルを、指定のインストールディレクトリ配下にコピーします。- コピー先のインストールディレクトリは、起動時のオプションで指定するか、指定しない場合は以下が提案されます。提案が希望と異なる場合は、変更することが可能です。
- インストール実行ユーザがスーパーユーザ(sudoでの実行や、rootの場合):
/opt/bsky_sh_cli
- インストール実行ユーザが一般ユーザの場合:
$HOME/.local/bsky_sh_cli
- インストール実行ユーザがスーパーユーザ(sudoでの実行や、rootの場合):
- コピー先のインストールディレクトリは、起動時のオプションで指定するか、指定しない場合は以下が提案されます。提案が希望と異なる場合は、変更することが可能です。
- インストールディレクトリ配下のbinサブディレクトリへの環境変数
PATH
の設定状態を確認し、設定されていない場合はログインスクリプトの作成または修正(追記)を提案します。提案が希望と異なる場合は、変更することが可能です。- インストール実行ユーザがスーパーユーザ(sudoでの実行や、rootの場合):
/etc/profile.d/bsky_sh_cli.sh
- インストール実行ユーザが一般ユーザの場合:
- 以下を順次確認して見つかったファイル
- 実行シェルが
/bin/bash
の場合:$HOME/.bashrc
$HOME/.bash_profile
$HOME/.bash_login
- 実行シェルが
/bin/bash
以外、または上記でファイルが見つからなかった場合:$HOME/.profile
- 実行シェルが
- 以下を順次確認して見つかったファイル
- 以下の行を追加(ファイルが存在しない場合は作成)します。
PATH=$PATH:<指定したインストールディレクトリ>/bin export PATH
- インストール実行ユーザがスーパーユーザ(sudoでの実行や、rootの場合):
- このツールのカスタマイズ設定を行うRun Commandsファイルのインストールを提案します。不要の場合はスキップすることが可能です。
- Run Commandsファイルのインストール先は以下になります。
$HOME/.bsky_sh_cli_rc
- 既に同名のファイルが存在する場合は、スキップの確認が行われます。スキップせずに上書きする場合、既存の設定は消去されますので御注意ください。
- 既存の設定を維持し、新しいバージョンでの設定ファイルを確認する場合は、上書きせずに提供ファイルの
.bsky_sh_cli_rc.sample
を参考にしてください。
- 既存の設定を維持し、新しいバージョンでの設定ファイルを確認する場合は、上書きせずに提供ファイルの
- Run Commandsファイルのインストール先は以下になります。
- 上記で指定した内容が一覧表示され、実行の確認が行われます。内容に問題が無ければ続行してください。
- 指定した内容の処理を実行します。
install.sh
実行時に以下のオプションを指定して動作を変更することが可能です。
--install-dir <ディレクトリパス>
<ディレクトリパス>
で指定するパスを、インストール先のディレクトリとして指定します。
--config-path-file <ログインスクリプトファイルパス>
- 環境変数
PATH
に関する設定処理対象のログインスクリプトファイルのパスを指定します。
- 環境変数
--skip-config-path
- 環境変数
PATH
に関するログインスクリプトの設定処理をスキップします。 --config-path-file
オプションの指定は無視されます。
- 環境変数
--skip-rcfile-copy
- Run Commandsファイルのインストール処理をスキップします。
--config-langs '<言語コード>[,...]'
- 投稿(ポスト)時に設定するデフォルトの言語コードを指定します(例:英語は'en'、日本語は'ja')。
- 複数の言語をカンマ区切りで指定できます(例:en,ja)。
- ここで設定しなくても、投稿(ポスト)時のオプションで個別に指定できます。ここでの設定は、投稿(ポスト)時のオプションで個別に指定しなかった場合のデフォルト言語コードとなります。
--skip-config-path
オプションを指定した場合や、インストール中の確認においてRun Commandsファイルのインストールがスキップされた場合は無視されます。
--skip-confirm
- 各種確認をスキップします。スキップされる確認、およびスキップ時の動作は以下となります。
- 指定インストールディレクトリと同名のディレクトリが存在する場合の上書き確認:
- 上書きする動作となります。
- 環境変数
PATH
に関するログインスクリプトの作成または修正処理の実行確認:- 環境変数
PATH
にインストールディレクトリのサブディレクトリbin
が設定済の場合:- 処理実行されません。
- 環境変数
PATH
にインストールディレクトリのサブディレクトリbin
が設定されていない場合:--skip-config-path
オプション指定時:- 処理実行されません。
--skip-config-path
オプション未指定時:- 処理を実行する動作となります。
- 対象となるログインスクリプトファイルは以下になります。
--config-path-file
オプション指定時:--config-path-file
オプションに指定したファイルパスになります。
--config-path-file
オプション未指定時:- インストーラが提案するファイルになります。提案するファイルは
install.sh
が実行する内容を参照してください。
- インストーラが提案するファイルになります。提案するファイルは
- 環境変数
- Run Commandsファイルのインストール($HOME/.bsky_sh_cli_rc):
--skip-rcfile-copy
オプション指定時:- 処理実行されません。
--skip-rcfile-copy
オプション未指定時:- Run Commandsファイルが既存の場合は処理実行されません。Run Commandsファイルが存在しない場合はインストールされます。
- 投稿(ポスト)デフォルト言語コードの設定:
--config-langs
オプション指定時:--config-langs
オプションに指定した値で設定が実行(Run Commandsファイルを変更)します(Run Commandsファイルがインストールされる場合のみ)。
--config-langs
オプション未指定時:- 処理実行されません。
- 指定インストールディレクトリと同名のディレクトリが存在する場合の上書き確認:
- 各種確認をスキップします。スキップされる確認、およびスキップ時の動作は以下となります。
このインストーラが希望するインストール方法をカバーしていない場合(あるいはこのインストーラが信用できない場合)、手動でディレクトリやファイルを配置することでインストール可能です。
提供ファイルに含まれる以下のディレクトリやファイルを対応する場所にコピーしてください。
bin
ディレクトリおよびlib
ディレクトリ- -> 同じ任意のディレクトリ直下
- 現時点では2つのディレクトリが同じディレクトリ配下に存在する必要があります。
lib
ディレクトリパスを環境変数で指定する方法は実装されていますが、動作未確認です。
.bsky_sh_cli_rc.sample
ファイル- -> 拡張子
.sample
を削除したファイル名.bsky_sh_cli_rc
として$HOME(ユーザホームディレクトリ)直下 - 初期状態では何も設定変更しないコメントのみの内容ですので、適宜編集してください(現時点では設定方法のドキュメント未整備)。
- 投稿(ポスト)デフォルト言語コード設定については以下の行を追加(あるいは既存のコメントアウト行をコメント解除して値を設定)してください。
BSKYSHCLI_POST_DEFAULT_LANGUAGES=<言語コード>[,...]
<言語コード>
の記述方法についてはinstall.sh
コマンドのオプションの--config-langs
オプションの説明を参照してください。
- 投稿(ポスト)デフォルト言語コード設定については以下の行を追加(あるいは既存のコメントアウト行をコメント解除して値を設定)してください。
- -> 拡張子
パス指定無しでbsky
コマンドを実行するためには、環境に応じてログインスクリプトを編集し、環境変数PATH
にbin
ディレクトリのフルパスを追加してください。
PDSをセルフホストしている場合、エクスポートした環境変数を使用することで簡単にコマンドの接続先サーバを指定することができます。
PDSをセルフホストしている場合は、以下のsky.example.com
をPDSのURLに置き換えた行を.profile
や.bashrc
に追加します:
export BSKYSHCLI_SELFHOSTED_DOMAIN=sky.example.com
これによりコマンドはbsky.socialの替わりに指定したPDSに接続するようになります。
既にインストールが行われている場合、インストールされたbskyコマンド(bsky update
)でツール自身を最新バージョンにアップデートすることができます。
スーパーユーザでインストールしていた場合:
sudo -i bsky update
一般ユーザでインストールしていた場合:
bsky update
詳細はコマンドラインリファレンスを参照してください。