Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@ht_deko

【Delphi】コマンドライン版 GetIt (GetitCmd.exe) を使う

はじめに

RAD Studio 10.4 Sydney がリリースされ、その環境設定のために GetitCmd.exe を使ってパッケージ取得先の切り替えをする必要がありました。

ですが、この GetitCmd には全くドキュメントがありません。GetitCmd.exe はコマンドライン版 GetIt パッケージマネージャなので、使い方次第では便利な事もあると思うのですが...

GetitCmd の使い方

以下、GetItCmd の使い方です。

事前準備 - 環境変数のセット

GetitCmd を動作させるためにはいくつかの環境変数が正しくセットされている必要があります。また、複数のバージョンの GetItCmd を切り替えて使うには、<インストールフォルダ>\bin にある rsvars.bat を実行します。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>rsvars.bat

使用例

■ インストールされているパッケージを列挙する

getitcmd -l= とすると既にインストールされているパッケージがリストアップされます。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>getitcmd -l=
GetIt Package Manager - Version 7.0
Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved.

Id                                                 Version         Description
--                                                 -------         -----------
10.4Patch1-10                                      1               RAD Studio 10.4 Patch 1 adds som...
Fast_Report_FMX-2.6.2-104                          2.6.2           Report generator FastReport FMX ...
Fast_Report_VCL-6.7-10.4                           6.7             Report generator FastReport VCL ...

Command finished with success!

■ すべてのパッケージを列挙する

getitcmd -f=all -l= とすると利用可能なすべてのパッケージがリストアップされます。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>getitcmd -f=all -l=
GetIt Package Manager - Version 7.0
Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved.

Id                                                 Version         Description
--                                                 -------         -----------
10.4Patch1-10                                      1               RAD Studio 10.4 Patch 1 adds som...
Fast_Report_FMX-2.6.2-104                          2.6.2           Report generator FastReport FMX ...
Fast_Report_VCL-6.7-10.4                           6.7             Report generator FastReport VCL ...
Abbrevia-10.6-Sydney                               10.6            Abbrevia is a compression toolki...
AlienInvasion-1.10                                 1.10            Alien Invasion is a classic arca...
AndroidKioskModeTemplate-1.0                       1.0             FMX Template showing the new And...
  ...

■ 特定のカテゴリのパッケージを列挙する

-l オプションにカテゴリを指定するとパッケージがリストアップされます。例えば getitcmd -f=all -l=delphi とすると Delphi で利用可能なすべてのパッケージがリストアップされます。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>getitcmd  -f=all -l=delphi
GetIt Package Manager - Version 7.0
Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved.

Id                                                 Version         Description
--                                                 -------         -----------
Abbrevia-10.6-Sydney                               10.6            Abbrevia is a compression toolki...
AndroidKioskModeTemplate-1.0                       1.0             FMX Template showing the new And...
AppHomeScreens-1.0                                 1.0             This FireMonkey UI template incl...
AppTemplateFitnessCenter-1.0                       1.0             This Firemonkey UI template simu...
AsyncPro-1.7-Sydney                                1.7             Async Professional is a comprehe...
CardPanelDemo-1.0-Rio                              1.0             This sample shows you how to use...
  ...

カテゴリには次のようなものを指定できるようです。

Delphi, C++, Libraries, Components, Trial, IDE, Styles, Samples, Patch

■ パッケージをインストールする

getitcmd -i=<アイテムID> とするとパッケージをインストールできます。

<アイテムID> はリストアップコマンド -l で表示したリストの一番左の列にある 'ID' です。例えば 10.4 Patch 1 のアイテム ID は '10.4Patch1-10' となります。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>getitcmd  -f=all -l=patch
GetIt Package Manager - Version 7.0
Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved.

Id                                                 Version         Description
--                                                 -------         -----------
10.4Patch1-10                                      1               RAD Studio 10.4 Patch 1 adds som...

Command finished with success!

これをインストールするには getitcmd -i=10.4Patch1-10 とします。

■ 機能インストール

-if で機能をインストールする事ができます。次の機能ID が指定できます。機能ID はセミコロンで区切って複数指定する事ができます。

delphi, delphi_windows, delphi_macos, delphi_linux, delphi_ios, delphi_android, cbuilder, cbuilder_windows, cbuilder_ios, cbuilder_android, samples, help, teechart, dunit, interbase_express, interbase_2020, openjdk, android_sdk.

例えばヘルプとサンプルをインストールするには getitcmd -if=samples;help とします。

C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>getitcmd -if=samples;help
GetIt Package Manager - Version 7.0
Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved.


Command finished with success!

ただ、インストールされている機能の一覧を表示する方法や、アンインストールの方法がないため、普通に機能マネージャを使った方がいいと思います。

■ オンライン/オフラインの切り替え

GetIt のモードはインストールしたメディアによって初期状態が異なります。

RAD Studio (Delphi / C++Builder) を Web (ESD) インストーラでインストールした場合にはオンラインモード、ISO (オフライン) インストーラでインストールした場合にはオフラインモードになっています。

ISO (オフライン) インストーラでインストールした場合、オンラインモードへ切り替えないと GetIt を使えません。オンラインモードにするには次のコマンドを実行します。

GetItCmd.exe -c=useonline

オフラインモードにするには次のコマンドを実行します。

GetItCmd.exe -c=useoffline

See also:

ヘルプ

-h でコマンド一覧が見れます。以下は簡単な日本語訳です。

  -i=<itemid> または --install=<itemid>
        パッケージをインストールします。アイテム ID は ";" で区切って複数指定できます。

  -if<featureid> または --install_features=<featureid>
        インストール機能は ";" で区切られています。利用可能な機能 ID は次の通りです:
        delphi, delphi_windows, delphi_macos, delphi_linux, delphi_ios
        delphi_android, cbuilder, cbuilder_windows, cbuilder_ios, cbuilder_android
        samples, help, teechart, dunit, interbase_express
        interbase_2020, openjdk, android_sdk.

  -id または --installdeferred
        遅延されたパッケージをインストールします。

  -u=<itemid> または --uninstall=<itemid>
       パッケージをアンインストールします。アイテム ID は ";" で区切って複数指定できます。

  -d=<fileurl> または --download=<fileurl>
        ファイルをダウンロードします。

  -l=<searchby> または --list=<searchby>
        利用可能なアイテムをすべてリストアップします。

  -s=[name/vedor/date] または --sort=[name/vedor/date]
        list コマンドの sort パラメータを指定します。デフォルトは "name "です。

  -f=[all/installed] または --filter=[all/installed]
        リスト コマンドのフィルタ パラメータを指定します。デフォルトは "installed "です。

  -ra=<apppath> または --runapp=<apppath>
        終了前にアプリケーションを実行します。

  -c=[useonline/useoffline] または --config=[useonline/useoffline]。
        GetIt システムを設定します。

  -un=<ユーザ名>または--username=<ユーザ名>
        認証が必要なプロキシのユーザー名。

  -p=<password> または --password=<password>
        認証が必要なプロキシのパスワード。

  -v=[quiet/minimal/normal/detailed] または --verb=[quiet/minimal/normal/detailed]
        コンソール出力メッセージの冗長レベルを指定します。

  -ae または --accepteulas。
        ダウンロードしたパッケージの EULA を承諾します。

  -dnsef または --donotsetenvfile。
        環境変数を設定しません。

  -h または --help。
        利用可能なコマンドをすべて印刷します。

おわりに

10.4 RTM 時点では、パッケージをインストールしようとすると関係のないパッケージをアンインストールし始めるというバグがありまして...
image.png

そのため、この記事をお蔵入りにしていたのですが、10.4.1 (10.4 Update 1) でバグが取れたようなので改めて公開する事にしました。

See also:

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ht_deko
とある熊本の障害復旧(トラブルシューター)

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?