この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

sfdx (v7) から sf (v2) への移行

現在 sfdx (v7) を使用している場合は、sf (v2) に移行することを強くお勧めします。移行は簡単で、まず sfdx (v7) をアンインストールし、次に sf (v2) をインストールします。移行後も、ターミナルで実行していた CLI コマンドや継続的インテグレーション (CI) スクリプトは以前と同じように動作します。

sf (v2) をインストールする前に sfdx (v7) をアンインストールする必要があり、そうしない場合インストールエラーが発生します。この条件は、npm、OS 固���のインストーラ、TAR ファイルなど、すべてのインストール方法に当てはまります。

sfdx (v7) がコンピュータにインストールされているかどうかを確認するには、次のコマンドを実行します。

1sfdx version
2sfdx-cli/7.208.10 darwin-arm64 node-v18.16.0

このように、表示されたバージョンが sfdx-cli/7 で始まる場合、sfdx (v7) がコンピュータにインストールされています。

重要

このドキュメントのセクションでは、sf (v2) への移行方法について、npm、macOS/Windows のインストーラ、TAR ファイルの 3 つのインストール方法を説明します。使用環境に該当するセクションを選択してください。sfdx (v7) を最初にどのようにインストールしたかわからない場合は、このドキュメントを参照してください。Docker をお使いの場合は、sf (v2) イメージの入手方法について、最新の Docker の手順を参照してください。

npm

  1. 次のコマンドで sfdx (v7) をアンインストールします。
    1npm uninstall sfdx-cli --global
  2. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  3. 次のコマンドで sf (v2) をインストールします。
    1npm install @salesforce/cli --global

    すでに sf (v1) がインストールされている場合、このコマンドによって v2 に更新されます。

  4. 次のコマンドを実行して、sf (v2) がインストールされていることを確認します。
    1sf version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0
    このバージョンの場合、@salesforce/cli/2 から始まります。次のコマンドでも sfdxsf の別名になっているため、同じバージョンが返されます。
    1sfdx version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0

sf (v2) へ正しく移行できました。おめでとうございます!

macOS または Windows インストーラ

インストーラとは、Windows の .exe または macOS の .pkg インストーラファイルを指します。

  1. 現在インストールされている sfdx (v7) をアンインストールします。

    2021 年 10 月以降に、最初に OS 固有のインストーラを使用して Salesforce CLI をインストールした場合、実際には sfdx (v7) と sf (v1) の 2 つの相互運用可能な CLI (実行可能ファイル) がバンドルされてインストールされます。Salesforce CLI をアンインストールすると、両方の実行可能ファイルが削除されます。

  2. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  3. 次のインストーラのリンクを使用して sf (v2) をインストールします。
  4. 次のコマンドを実行して、sf (v2) がインストールされていることを確認します。
    1sf version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0
    このバージョンの場合、@salesforce/cli/2 から始まります。次のコマンドでも sfdxsf の別名になっているため、同じバージョンが返されます。
    1sfdx version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0

sf (v2) へ正しく移行できました。おめでとうございます!

TAR ファイル

Salesforce CLI では、サポートされているすべてのオペレーティングシステムにインストールできる TAR ファイルを配布しています。

  1. 現在インストールされている sfdx (v7) をアンインストールします

    2021 年 10 月以降に、最初に TAR ファイルを使用して Salesforce CLI をインストールした場合、実際には sfdx (v7) と sf (v1) という 2 つの相互運用可能な CLI (実行可能ファイル) がバンドルされてインストールされます。Salesforce CLI をアンインストールすると、両方の実行可能ファイルが削除されます。

  2. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  3. sf (v2) をインストールします
  4. 次のコマンドを実行して、sf (v2) がインストールされていることを確認します。
    1sf version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0
    このバージョンの場合、@salesforce/cli/2 から始まります。次のコマンドでも sfdxsf の別名になっているため、同じバージョンが返されます。
    1sfdx version
    2@salesforce/cli/2.0.1 darwin-arm64 node-v18.16.0

sf (v2) へ正しく移行できました。おめでとうございます!

継続的インテグレーション (CI) スクリプトの更新

継続的インテグレーション (CI) システムで Salesforce CLI を使用している場合は、sf (v2) を使用するようにスクリプトを更新してください。

npm
CI スクリプトで npm を使用して Salesforce CLI をインストールする場合は、sf (v2) をインストールする次のコマンドを使用するようにスクリプトを更新します。
1npm install @salesforce/cli --global

CI スクリプトを更新する際に、sfdx (v7) をインストールする次のコマンドが含まれている場合は、削除する必要があります。

1npm install sfdx-cli --global

両方のコマンドが含まれている場合、sf (v2) のインストールコマンドでエラーが返され、スクリプトが失敗します。

警告

TAR ファイル
CI スクリプトで Salesforce CLI を TAR ファイルでインストールする場合は、ダウンロード URL が sf (v2) のダウンロードを指定するように更新します。たとえば、次の URL を変更するとします。
1https://developer.salesforce.com/media/salesforce-cli/sfdx/channels/stable/sfdx-linux-x64.tar.gz

次の URL に変更します。

1https://developer.salesforce.com/media/salesforce-cli/sf/channels/stable/sf-linux-x64.tar.gz

すべてのオペレーティングシステムの URL については「TAR ファイルを使用した CLI のインストール」を参照してください。

sf (v2) への移行後の考慮事項

ここでは、移行後に注意すべきいくつかの点について説明します。

  • 次のコマンドを実行して、オートコンプリートキャッシュを再生成します。
    1sf autocomplete --refresh-cache

    変更を反映させるために、新しいターミナルを開きます。オートコンプリートはキャッシュを再生成するまで正しく動作しません。

  • CLI コマンドの実行、VS Code による Salesforce CLI の呼び出し、CI スクリプトの動作は、sfdx (v7) でも sf (v2) でも同じです。違いがある場合は、GitHub の問題を登録してください。
  • コマンドは sfdx でも sf でも実行できます。どちらも今は同等です。たとえば、これら 2 つのコマンドの実行は同じです。
    1sf project deploy start
    2sfdx project deploy start

    sfdx にあったものはすべて、同じ名前とフラグで sf でも使用可能です。

移行が必要な理由

sf (v2) は、2023 年 7 月 12 日に正式リリースされました。その時点で、sfdx (v7) と sf (v1) の更新の公開が打ち切られました。Salesforce CLI の新機能やバグ修正を利用するには、sf (v2) を使用する必要があります。

また、sfdx (v7) は sf (v1) も含んでいるため、sf (v2) の 2 倍のサイズがあります。Salesforce CLI のインストールとダウンロードのサイズを小さくする場合は、sf (v2) に移行することをお勧めします。

npm Error: code EEXIST のトラブルシューティング

sfdx (v7) を先にアンインストールせずに npm を使用して sf (v2) をインストールすると、次のエラーが発生します。

1npm ERR! code EEXIST
2npm ERR! path /Users/user/.nvm/versions/node/v18.16.0/bin/sfdx
3npm ERR! EEXIST: file already exists
4npm ERR! File exists: /Users/user/.nvm/versions/node/v18.16.0/bin/sfdx
5npm ERR! Remove the existing file and try again, or run npm
6npm ERR! with --force to overwrite files recklessly.
7
8npm ERR! A complete log of this run can be found in:
9npm ERR!     /Users/user/.npm/_logs/2023-06-28T22_16_15_181Z-debug-0.log

sf (v2) が正式リリースされると、継続的インテグレーション (CI) システムでもこのエラーが発生する場合があります。CI スクリプトで、すでに npm を使用して sfdx (v7) と sf (v1) の両方をインストールしており、スクリプトを更新していない場合、2023 年 7 月 12 日以降自動的にエラーが発生する可能性があります。

この問題を解決するには、スクリプトから次のコマンドを削除してください。

1npm install sfdx-cli --global

sf (v2) をインストールする次のコマンドは残しておいてください。

1npm install @salesforce/cli --global

sfdx (v7) に戻す

sfdx (v7) に戻す理由はないと考えられますが、戻す必要がある場合には、次の手順に従ってください。

  1. sf (v2) をアンインストールします
  2. sfdx (v7) をインストールします。

    npm の場合は、次のコマンドを実行します。

    1npm install sfdx-cli --global

    インストーラと TAR ファイルの場合は、サポートされている各オペレーティングシステムの最近のダウンロード URL をリストした sfdx (v7) JSON ファイルを参照してください。詳細は、こちらのトピックを参照してください。

    2023 年 7 月 12 日以降、Salesforce CLI をダウンロードする Web ページが更新され、sf (v2) しかダウンロードできなくなりました。

    メモ

  3. CI スクリプトで、以前使用していた npm コマンドや TAR ダウンロード URL に戻します。