tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Force.com CLIをつかってみました

f:id:tyoshikawa1106:20140614131216p:plain

Force.com CLIはコマンドラインからForce.comのデータベースを操作できるツールです。まだ実際に使ったことがなかったのですが、メタデータをエクスポートしたり、Anonymous Apexコードの実行したりするのにすごく便利らしいのでちょっと試してみました。


Force.com CLIを使うにはGoをインストールする必要があります。またGitおよびMercurial(マーキュリアル)もインストールされている必要があるみたいです。


Mercurialは分散型バージョン管理システムとのことで下記サイトからダウンロードできます。

Mercurial SCM


OSごとにダウンロードページが用意されているのでそこからインストーラをダウンロードできました。

f:id:tyoshikawa1106:20140614104805p:plain:w300


次のコマンドでバージョン確認ができるのでこれが正常に実行されればインストールがうまくいっていると思います。

$ hg version

f:id:tyoshikawa1106:20140614105212p:plain


Goは公式サイトからインストーラをダウンロードできます。
公式サイトはこちらです。

f:id:tyoshikawa1106:20140614110634p:plain:w300


Goのインストールが完了したら次のように.goファイルを用意してHello Worldを表示してみます。これがうまく動けばインストールが正常に行われていることが確認できます。

f:id:tyoshikawa1106:20140614111830p:plain:w350

f:id:tyoshikawa1106:20140614112042p:plain


Go言語をインストールした後は一度コマンドラインを再起動する必要があるみたいです。それに気づかずGoコマンドを実行したところGoコマンドが認識されませんでした。


そのあたりの注意事項やGo言語のインストール方法についてはこちらのサイトが参考になりました。

Go言語のインストール - golang.jp


これでGoのインストールまで完了したのでForce.com CLIを動かすことができると思います。Force.com CLIは次のGoコマンドでインストールできます。

$ go get -u github.com/heroku/force

自分のやったときはこんなエラーが発生しました。

f:id:tyoshikawa1106:20140614113133p:plain


調べてみたところStack Overflowにこのエラーの解決方法が投稿されていました。

osx - cannot download, $GOPATH not set - Stack Overflow

どうやらGOPATHを設定しないといけなかったみたいで、GOPATHはパッケージのインストール場所を指定するためのパスとのことです。

先ほどのStack OverflowにGo言語の動画が紹介されていてその動画では次のように指定していました。

$ mkdir gocode
$ export GOPATH=$HOME/gocode

mkdirでフォルダを作成して、export GOPATH=...でパスを指定しています。このGOPATHはバージョンごとに分けたりするなどパスの場所はいろいろ考えたりする必要があるみたいです。

今回は動画で紹介されていたパスで試してみました。


GOPATHを指定した後は、先ほどエラーが解決して正常にインストールコマンドを実行できました。

f:id:tyoshikawa1106:20140614123114p:plain

インストールコマンド実行後、GOPATHに指定したgocodeフォルダ内にフォルダが作成されています。とりあえずこれでインストールはできたみたいです。

f:id:tyoshikawa1106:20140614123246p:plain:w300


インストールできたのでforce loginコマンドを実行してみたところ、またエラーに・・

f:id:tyoshikawa1106:20140614133946p:plain


多分どこか設定ができていないと思うのですが、調べてみるとこういう実行の仕方もあるよ。という記事を見つけました。

$ ./force login

とりあえずこれでやってみて無事にログインできました。

f:id:tyoshikawa1106:20140614130644p:plain

f:id:tyoshikawa1106:20140614130654p:plain

f:id:tyoshikawa1106:20140614130702p:plain


クエリの実行も無事にうまくいきました。

f:id:tyoshikawa1106:20140614130903p:plain


ちょっとうまくできていない感じもありますが今回はここまで。