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

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

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

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

sfdx (v7) がコンピューターにインストールされているかどうかを確認するには、ターミナル (macOS または Linux) もしくはコマンドプロンプト (Windows) で次のコマンドを実行します。

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. ターミナル (macOS および Linux) またはコマンドプロンプト (Windows) を開きます。
  2. 次のコマンドで sfdx (v7) をアンインストールします。
    1npm uninstall sfdx-cli --global
  3. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  4. 次のコマンドで sf (v2) をインストールします。
    1npm install @salesforce/cli --global

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

  5. 次のコマンドを実行して、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. ターミナル (macOS または Linux) もしくはコマンドプロンプト (Windows) を開きます。
  3. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  4. 次のインストーラーのリンクを使用して sf (v2) をインストールします。
  5. 次のコマンドを実行して、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. ターミナル (macOS および Linux) またはコマンドプロンプト (Windows) を開きます。
  3. sfdx version コマンドを実行して、sfdx (v7) がアンインストールされていることを確認します。正しくアンインストールされている場合、このコマンドは失敗します。たとえば、MacOS では次のように表示されます。
    1sfdx version
    2-bash: sfdx: command not found
  4. sf (v2) をインストールします
  5. 次のコマンドを実行して、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) への移行後の考慮事項

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

  • ターミナル (macOS または Linux) もしくはコマンドプロンプト (Windows) で次のコマンドを実行して、オートコンプリートキャッシュを再生成します。
    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 の場合は、ターミナル (macOS または Linux) もしくはコマンドプロンプト (Windows) で次のコマンドを実行します。

    1npm install sfdx-cli --global

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

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

    メモ

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