claspは、ローカルのコードとGoogle Apps Scriptのプロジェクトを同期するCLIです。
送信対象とプロジェクトIDを確認してから反映すると、ログや別のコードを送る事故を防げます。
導入済みの版とヘルプを確かめる
Node.jsとclaspを公式の配布元から導入し、ターミナルで次を確認します。
すでに入っている場合は、記事のために再インストールする必要はありません。
2026年10月2日の練習環境ではNode.js v24.15.0、clasp 3.4.1でした。
最新バージョンという意味ではありません。
node --version
clasp --version
clasp --help未導入の場合のclaspの配布名は @google/clasp です。
インストール先やNode.jsの管理方法によって権限の要件が変わるため、必ず管理者として起動しなければならない、とは限りません。
3系のコマンド名は、使っている版のヘルプで確認する
clasp create-script --help今回の3.4.1では create-script|create と表示され、–title、–type、–rootDir がヘルプに載っていました。
別の旧コマンド名まで、すべて同じように通ると推測しないようにします。
作成操作はGoogle上のプロジェクトを作るもので、ローカルだけの操作ではありません。
認証する前に、練習フォルダーと送信対象を確認する
練習ZIPの clasp-practice へ移動します。
.clasp.jsonのrootDirはsrcで、scriptIdは実在しない練習用IDです。
.claspignoreは次のとおり、最初に除外し、必要な3ファイルだけを許可しています。
**/*
!appsscript.json
!Code.js
!Index.htmlclasp show-file-status --json| 練習フォルダーのファイル | 3.4.1の実機結果 |
|---|---|
| src/Code.js | 送信対象 |
| src/appsscript.json | 送信対象 |
| src/Index.html | 送信対象 |
| src/logs/debug.js | 対象外 |
このstatus確認は実機で実行し、3ファイルだけがfilesToPushに含まれることを確認しました。
実際のGoogleプロジェクトへの送信はしていません。
除外パターンはrootDirからの相対パスを基準に確認します。
設定を変えたらstatusを再確認します。
ログ以外にも認証情報、.env、バックアップなどを許可リストへ追加しないようにします。
自分のGASプロジェクトへ接続する
ここから先はGoogleへの認証や読み書きが必要な手順です。
本稿では未実行です。
練習ZIPの架空IDのままpushしないでください。
実際に使う場合は、別の専用フォルダーを作り、対象のGASプロジェクトをブラウザーでも開いて、名前とスクリプトIDを確認します。
clasp login要求権限を確認してログインし、アカウント全体へのアクセスが目的に合うか判断します。
生成される認証ファイルやトークンは共有・コミットしません。
既存プロジェクトの取得例は次のとおりです。
YOUR_SCRIPT_IDを自分の対象IDへ置き換え、実際の版のclone-scriptヘルプも確認します。
clasp clone-script YOUR_SCRIPT_ID --rootDir srcpullとpushの前に、双方の最新版を確認する
pullはGoogle側からローカルへ取得し、pushはローカルからGoogle側へ反映します。
どちらもコピー先の変更を失う可能性があるため、先にローカルをGitなどで保存し、Google側の変更も確認します。
両側を同時に編集した場合は、バックアップから差分を比較して統合します。
clasp pull
clasp push反映直前にscriptId・rootDir・statusの送信対象を確認します。
forceやwatchを最初の練習で使わず、手動push後にGoogleエディタで内容を確認します。
戻すには保存した版を比較し、他者の変更を含めた復旧内容を確定してから反映します。
デプロイやWebアプリの公開はpushとは別の操作であり、利用者や公開範囲を確認して行います。
動かないときに確認する場所
コマンドが見つからなければNode.jsとPATH、名前が違うならその版のヘルプを確認します。
対象外のファイルが出たらrootDirと.claspignore、認証エラーならアカウントと要求権限を確認します。
練習ではローカルの版・ヘルプ・ファイル除外までを実行しました。
Googleへのlogin、clone、pull、push、プロジェクト作成、デプロイは未検証です。
操作・GAS・claspの練習ZIPをダウンロードできます。
Google公式claspリポジトリ、GAS│エラーの意味と対処法|6分制限・承認・回数上限・トリガーを参照できます。
関連記事と既存の案内
関連する操作は各記事へのリンクから確認できます。
練習ZIPと本文の検証範囲を優先し、旧実装や外部の例をそのまま業務ファイルへ適用しないようにします。
よくある質問:claspでGASをローカル開発するときのチェックリスト
claspとは、何ですか?
ローカルのコードと、Google Apps Scriptのプロジェクトを同期するCLIです。送信対象とプロジェクトIDを確認してから反映すると、ログや別のコードを送る事故を防げます。
claspの3系では、コマンド名が変わりましたか?
記事では、3系のコマンド名は、使っている版のヘルプで確認するよう案内しています。記事の確認環境のclasp 3.4.1では、create-script|createと表示され、–title、–type、–rootDirがヘルプに載っていました。別の旧コマンド名まで、すべて同じように通ると推測しないでください。
claspを、管理者として起動する必要はありますか?
インストール先やNode.jsの管理方法によって、権限の要件が変わります。必ず管理者として起動しなければならない、とは限りません。
pullとpushの前に、何をしますか?
pullはGoogle側からローカルへ取得し、pushはローカルからGoogle側へ反映します。どちらも、コピー先の変更を失う可能性があるため、先にローカルをGitなどで保存し、Google側の変更も確認します。反映直前に、scriptId・rootDir・statusの送信対象を確認します。
練習フォルダーのままpushしても、よいですか?
しないでください。練習ZIPのscriptIdは、実在しない架空の練習用IDです。実際に使う場合は、別の専用フォルダーを作り、対象のGASプロジェクトをブラウザーでも開いて、名前とスクリプトIDを確認します。
認証ファイルやトークンは、どう扱いますか?
生成される認証ファイルやトークンは、共有・コミットしません。要求権限を確認してログインし、アカウント全体へのアクセスが、目的に合うか判断します。
この手順は、どこまで検証済みですか?
記事の練習では、ローカルの版・ヘルプ・ファイル除外までを実行しました。Googleへのlogin、clone、pull、push、プロジェクト作成、デプロイは未検証です。
