GAS 用の CLI ツール clasp をインストールして TypeScript で GAS をローカルの開発するための環境を構築する手順
GAS 用の CLI ツール clasp をインストールして GAS をローカルで開発して実行できる環境の構築手順をメモしました。
GAS 用のローカル環境を構築するに至った経緯
仕事でちょっとしたスクリプトを書くことが増えてきて毎回ブラウザで書くのがしんどく感じるようになったのと
コードはローカルで書いて Github 上で管理をしたかったことがきっかけて環境を構築してみました。
clasp
clasp とは?
Google 公式の GAS 用 CLI(コマンドライン)ツールで、スクリプトの作成(Standalone Script のみ)や複製、アップロード機能などを提供します。
clasp の特徴
- ローカルで開発ができる
- デプロイバージョンを管理できる
- TypeScript で開発ができる
環境
- Node.js 14.15.3
- Yarn 1.22.10
ファイル操作で利用するUnixコマンドについて
基本的なディレクトリ作成やファイル操作はUnixコマンドを利用します。
Unixコマンドについて詳しくはこちらの記事を参考にしてください。
clasp の環境構築
プロジェクトの初期化
プロジェクトディレクトリの作成
~/clasp-sample というプロジェクトディレクトリを作成して移動します。
terminal$ mkdir ~/clasp-sample && cd ~/clasp-sample
プロジェクトの初期化
yarn でプロジェクトの初期化を行います。 npm で実施する方は必要に応じて変更してください。
terminal$ yarn init -y
yarn init v1.22.10
warning The yes flag has been set. This will automatically answer yes to all questions, which may have security implications.
success Saved package.json
✨ Done in 0.06s.
パッケージのインストール
clasp をインストール
yarn installコマンドで clasp をインストールします。
グローバルにインストールするのが一般的なようですがプロジェクトの中へ閉じたいためローカルヘインストールしています。
terminal$ yarn add -D @google/clasp
yarn add v1.22.10
// 中略
success Saved 1 new dependency.
info Direct dependencies
└─ @google/clasp@2.3.2
info All dependencies
└─ @google/clasp@2.3.2
✨ Done in 4.40s.
型定義ファイルのインストール
TypeScript で書くため型定義ファイルをインストールします。
ruby$ yarn add -D @types/google-apps-script
インストールしたパッケージの確認
package.json を開きインストールしたパッケージを確認します。
package.json "devDependencies": {
"@google/clasp": "^2.3.2",
"@types/google-apps-script": "^1.0.34"
}
GAS API の設定変更
G Suite ユーザー設定画面から Google Apps Script API をオンにして下さい。
G Suite ユーザー設定画面
clasp プロジェクトの作成
clasp create
clasp createコマンドでclasp-sampleという clasp プロジェクトを作成します。
コマンドを実行するとスクリプトの種別を問われますので用途に応じて選択してください。
terminal yarn run clasp create clasp-sample
yarn run v1.22.10
$ /Users/XXXX/clasp-sample/node_modules/.bin/clasp create clasp-sample
? Create which script? (Use arrow keys)
❯ standalone
docs
sheets
slides
forms
webapp
api
.clasp.json
コマンドを実行すると.clasp.jsonというファイルが作成されているので
中身を確認します。
terminal$ cat .clasp.json
{"scriptId":"XXXXXXXXXXXXXXXXXXXXXXXXXXX"}
今回は TypeScript で開発するのとソースの管理はsrc配下で管理したいため
下記設定を追記します。
terminal$ vi .clasp.json
変更後の.clasp.json
rootDirとfileExtensionを追記します。
.clasp.json{
"scriptId": "XXXXXXXXXXXXXXXXXXXXXXXXXXX",
"rootDir": "./src",
"fileExtension": "ts"
}
src ディレクトリの作成
mkdirコマンドで src ディレクトリを作成します。
terminal$ mkdir src
GAS プロジェクトページの確認
clasp openコマンドで GAS プロジェクトページを開いてプロジェクト確認します。
terminal$ yarn run clasp open
コマンドを叩くとブラウザが起動しプロジェクトページが開きます。

GAS プロジェクトのpull
clasp pullコマンドで GAS プロジェクトをローカルへ取得します。
terminal$ yarn run clasp open
// 中略
└─ ./src/appsscript.json
✨ Done in 3.90s.
src/appsscript.jsonというファイルが作成されました。
コードを作成する
とりあえずコードを書いてみます。
sample.tsの作成
sample.tsの作成します。
terminal$ vi src/sample.ts
適当なコードをかきます。
sample.tsfunction sample() {
const message = 'Hello world!'
Logger.log(message);
console.log(message);
}
作成したコードをプロジェクトへpushする
clasp pushコマンドで GAS プロジェクトコードを送信します。
terminal$ yarn run clasp push
GASプロジェクトを開いて作成したコードを確認
clasp openコマンドで GAS プロジェクトページを開いてプロジェクト確認します。
terminal$ yarn run clasp open
作成したコードが登録されていました。
また利用したconstがトランスパイルされていことも確認できます。
スクリプトの実行
スクリプトを実行してみます。
上部メニューの真ん中あたりにある実行をクリックします。
スクリプトの実行結果
実行ログのところに実行結果が表示されていることが確認できます。
ローカルに環境を構築しローカルで書いたコードを実行できるようになりました。
コマンドを実行をブラウザのエディタからではなくローカルで実行できるようにする手順については下記の記事を参照ください。
GASのコマンドを実行をブラウザのエディタからではなくローカルで実行できるようにする手順
articleGAS(Google App Scripts)用の CLI ツール clasp からローカル環境でGASを実行してログを確認する手順
articleGAS 用の CLI ツール clasp をインストールして TypeScript で GAS をローカルの開発するための環境を構築する手順
articlePrisma 読み書き分離設計:読み取りレプリカ/プロキシ/整合性モデルを整理
articleMermaid で日本語が潰れる問題を解決:フォント・エンコード・SVG 設定の勘所
articlePinia 2025 アップデート総まとめ:非互換ポイントと安全な移行チェックリスト
articleMCP サーバー 実装比較:Node.js/Python/Rust の速度・DX・コストをベンチマーク検証
articleLodash のツリーシェイクが効かない問題を解決:import 形態とバンドラ設定
articleOllama のインストール完全ガイド:macOS/Linux/Windows(WSL)対応手順
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来


