Google Apps Scriptはブラウザーのエディタで書けるが、手元のエディタやGitを使いたい場面がある。
claspはそのためのコマンドライン道具で、ローカルで書いたコードをApps Script側へ反映できる。
ここでは導入から反映までの流れと、版によってコマンド名が変わっている点を整理する。
コマンドの確認は2026年9月20日にclasp 3.4.1で実行し、公式ドキュメントの記載とも照らしている。
入れる前に必要なもの
claspはNode.jsで書かれており、npmで配布されている。
公式ドキュメントでは、使う前にNode.js 20.0.0以降を入れる必要があると案内されている。
node -v
npm -v表示された番号が20より小さい場合は、先にNode.jsを新しくする。
Node.jsのインストールには管理者権限が必要になる、とも書かれている。
導入と、入った版の確かめ方
npm install @google/clasp -g入ったら、版を確かめる。
clasp --version手元で実行したところ3.4.1と表示された。
この番号は、あとで出てくるコマンド名の違いに関わるため、先に控えておく。
3系でコマンド名が変わっている
clasp 3系では、コマンド名が動詞と対象を並べた形に変わっている。
以前の短い名前も別名として残っているため、どちらでも動く。
| 3系での名前 | 以前からの別名 | 何をするか |
|---|---|---|
| create-script | create | スクリプトを作る |
| clone-script | clone | 既存のスクリプトを手元へ複製する |
| create-deployment | deploy | デプロイを作る |
| delete-deployment | undeploy | デプロイを消す |
| update-deployment | redeploy | デプロイを新しい版に更新する |
| list-deployments | deployments | デプロイの一覧を出す |
| create-version | version | 版を作る |
| list-versions | versions | 版の一覧を出す |
| list-scripts | list | プロジェクトの一覧を出す |
| run-function | run | 関数を実行する |
| tail-logs | logs | 直近のログを出す |
| show-file-status | status | 反映される対象のファイルを出す |
検索で見つかる記事が古い名前で書かれていても、別名として通るため動作に支障は出ない。
公式ドキュメントと実際のヘルプが食い違う箇所
スクリプトを作るコマンドの引数は、公式ドキュメントと手元のヘルプで書き方が違っていた。
公式ドキュメントでは、タイトルを位置引数として渡す形が案内されている。
clasp create [scriptTitle] [--type <projectType>] [--parentId <parentId>]一方、手元のclasp 3.4.1でヘルプを見ると、位置引数は無く、タイトルはオプションとして渡す形になっていた。
clasp create-script --helpUsage: clasp create-script|create [options]
Create a script
Options:
--type <type> Creates a new Apps Script project attached to a new
Document, Spreadsheet, Presentation, Form, or as a
standalone script, web app, or API. (default:
"standalone")
--title <title> The project title.
--parentId <id> A project parent Id.
--rootDir <rootDir> Local root directory in which clasp will store your
project files.手元の版では、タイトルは–titleで渡す。
clasp create-script --title "プロジェクト名" --type standaloneこの食い違いは、公式ドキュメントが以前の書き方のまま残っていることによる。
うまくいかないときは、自分が入れた版でヘルプを直接見るほうが早い。
clasp --help
clasp <コマンド名> --helpログインする
Apps Scriptのプロジェクトを操作するには、先にGoogleアカウントで認証する。
clasp loginブラウザーが開き、ログインと許可を求められる。
いまログインしているかどうかは、次のコマンドで確かめられる。
clasp show-authorized-userログインしていない状態で実行すると、Not logged in. と表示される。
ブラウザーを開けない環境では、–no-localhostを付けると手入力に切り替えられる。
作る、取ってくる、反映する
日々の操作は、作る・取ってくる・反映するの3つに集約される。
| やること | コマンド | 向き |
|---|---|---|
| 新しく作る | clasp create-script –title “名前” | 手元に作られる |
| 既存を手元へ複製する | clasp clone-script <スクリプトID> | Google側から手元へ |
| Google側の変更を取ってくる | clasp pull | Google側から手元へ |
| 手元の変更を反映する | clasp push | 手元からGoogle側へ |
| 反映される対象を先に見る | clasp show-file-status | 確認のみ |
作ると、そのディレクトリに2つのファイルができると公式ドキュメントに書かれている。
- .clasp.json … スクリプトIDを持つ
- appsscript.json … プロジェクトの情報を持つマニフェスト
.clasp.jsonはどのプロジェクトへ反映するかを決めるため、Gitで共有するときは扱いを決めておく。
反映する前に対象を見る
pushは手元のファイルをGoogle側へ送る操作なので、送る前に対象を確かめると事故が減る。
clasp show-file-status対象から外したいファイルがある場合は、.claspignoreに書く。
pushには-wを付けて、ファイルの変更を監視しながら反映する使い方もできる。
clasp push --watch版を作ってデプロイする
ウェブアプリなどとして公開する場合は、先に版を作る。
版はプロジェクトのその時点の写しで、読み取り専用として扱われる。
clasp create-version "説明"
clasp create-deployment作った版の番号が表示されるので、その番号を使ってデプロイする。
既存のデプロイを新しい版に切り替える場合はupdate-deploymentを使う。
clasp list-deployments
clasp update-deployment <デプロイID>うまくいかないときに見るところ
| 症状 | 先に確かめること |
|---|---|
| コマンドが見つからない | npmのグローバル導入が通っているか、PATHに入っているか |
| 引数の指定で弾かれる | その版のヘルプ(–help)で引数の形を見る |
| 認証で止まる | clasp show-authorized-user でログイン状態を見る |
| 別のプロジェクトへ反映された | .clasp.json のスクリプトIDを見る |
| 送りたくないファイルが送られる | .claspignore の内容を見る |
引数で弾かれる場合は、記事やドキュメントではなく手元のヘルプを見るのが確実である。
まとめ
- claspはNode.js 20.0.0以降が必要で、npmでグローバルに入れる
- 3系ではcreate-scriptのように名前が変わったが、以前の短い名前も別名として通る
- 公式ドキュメントはタイトルを位置引数で案内しているが、3.4.1では–titleで渡す
- 日々の操作は、pull・push・show-file-statusの3つが中心になる
- 公開するときは、版を作ってからデプロイする
コマンドの確認は2026年9月20日にclasp 3.4.1で実行したものである。
版が上がると名前や引数が変わる場合があるため、手元のヘルプもあわせて見てほしい。
公式の案内はGoogle for Developersのガイドにある。
GASの使い方はGoogleメソッドのまとめにも置いている。
