GAS の実装や管理には clasp が便利なんですが、いざ clasp push
で反映しようとしたらエラーが出て怒られた。
ENOENT: no such file or directory, open 'package.json'
複数の App Script をまとめて管理するために、下記のようなディレクトリ構造にしていたのが原因っぽい。
※ルートには package.json があるが、スクリプト本体のディレクトリにはない状態
. ├── HogeScript │ ├── clasp.json │ ├── appscript.json │ └── hoge.ts ├── FugaScript │ ├── clasp.json │ ├── appscript.json │ └── fuga.ts └── package.json
clasp のリポジトリ同じ問題と思われる Issue があって、「空の package.json 作ると解消」とのことなので、試してみると解消した。
https://github.com/google/clasp/issues/875
空の package.json
{}
. ├── HogeScript │ ├── clasp.json │ ├── appscript.json │ ├── hoge.ts │ └── package.json ←ここにも作ってあげる ├── FugaScript │ ├── clasp.json │ ├── appscript.json │ ├── fuga.ts │ └── package.json ←ここにも作ってあげる └── package.json
$ cd HogeScript $ clasp push