tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Salesforce CLIのバージョンでハマった話

Salesforce CLIのバージョンでハマった話。数年前にSalesforce DXのツールとして登場した『sfdx』コマンドは少し複雑なコマンドだったのですが、最新版で覚えやすそうな『sf』コマンドが登場したのでぼちぼち使い方を覚えるかなと試してました。

Salesforce CLI Command Reference


リファレンスサイトを見ながらコマンド試していて気になっていたのですが、なぜか実行できないコマンドがありました。例として『sf org open』コマンドを実行すると存在しないコマンドとエラーになっていました。


『sf』コマンド自体は動作するし『sf update』コマンドでバージョンアップも動かしている。なので環境構築はちゃんとできてると思ってました。


そんなときにたまたま見つけたのが次のページ。

Move from sfdx (v7) to sf (v2)


『sfdx』コマンドから『sf』コマンドへの移行案内のページです。最初、もうsf コマンド動くのでと気にしていなかったのですが、よく見ると『sf (v2)』という表現。このとき、自分の環境の『sf』バージョンを見てみると『1.5』という記載が。ここでバージョンが最新になっていないということに気づきました。


一応、npmのバージョンの更新を試してから、『sf update』を再実行してみましたがバージョンは変わらず。『sfdx update』の方はなぜか効いて『1.8』に更新できました。(v2じゃないので最新ではない。)


ここで改めて移行手順を読んだところ、一度アンイストールすることという記載がありました。(Chromeの翻訳機能で日本語に変換)


アンインストール用のnpm コマンドの例も記載があったので試してみたのですが、自分の環境ではエラーになりました。(今思えば、インストールをnpmコマンドではなくインストーラファイルから実行したからだったと思う。)


この問題を解決する方法としてたどり着いたのがこのページ。

Salesforce CLI またはプラグインをアンインストールする


ターミナル起動して1行ずつ指定の『rm』コマンドを実行。無事に処理されて、『sfdx』コマンドや『sf』コマンドは実行できない状態になりました。


アンインストールがうまくできたっぽいので、改めてSalesforce CLIのインストールを実行。

npmを使用して CLI をインストールする


この操作を行ったところ、『sf』コマンドのバージョンが v2 になったことを確認できました。


『sf help』コマンドで表示される内容がリファレンスサイトに記載されているコマンドと同じに内容になったことも確認。


今までは、リファレンスサイトのコマンドとヘルプコマンドで表示される内容が違ったのでなんでだろと思っていたのですが、バージョンが最新じゃなかっただけでした。まさか update コマンドで最新にできないとは...あと『sf』コマンドが動けば『sfdx』コマンドからの移行は完了しているものだと思ってました..。(スクラッチ組織作成とか重要な操作は動いてたし。)


という感じででSalesforce CLIのバージョンまわりでハマったのですが、v2が最新版として用意されていてsfdxからの移行は一度アンインストールする必要があるというところがわかって無事に解決できました。

補足 - Salesforce CLIのインストールについて

CLIのインストール方法ですが、いくつかのやり方が用意されています。


推奨される方法としてはインストーラを使用するのが良いと案内されています。(どこかのページでしっかりと npm よりインストーラをつかってと書いてあったと思う。)


なのでインストーラをダウンロードして進めようと思ったのですが、現在ダウンロードサイトは404 になっていました。


ということで今回は npm コマンドを使って Salesforce CLIのインストールを進めました。将来的にはダウンロードサイト復活するのか、それとも今後は npm コマンド推奨になるのかちょっと気になってます。