Electronでshellコマンドを実行しgit pushしたが、なぜか一部ファイルのアップロードがされなかった。ローカルファイルのコピーは成功しているが、GitHubへは一部アップされてない。原因不明。

症状

投げモナボタンの画像ファイルがアップロードされていなかった。原因不明。そのせいで投げモナボタンが表示されない。

ブツ

インストール&実行

NAME='Electron.MyLog.20220831120615'
git clone https://github.com/ytyaru/$NAME
cd $NAME
npm install
npm start

準備

  1. GitHubアカウントを作成する
  2. repoスコープ権限をもったアクセストークンを作成する
  3. npm startでアプリ起動し終了する(db/setting.jsonファイルが自動作成される)
  4. db/setting.jsonに以下をセットしファイル保存する
    1. address:任意のモナコイン用アドレス
    2. username:任意のGitHubユーザ名
    3. email:任意のGitHubメールアドレス
    4. tokenrepoスコープ権限を持ったトークン
    5. repo:任意リポジトリ名(mytestrepo等)
  5. dst/mytestrepo/.gitが存在しないことを確認する(あればdstごと削除する)
  6. GitHub上に同名リモートリポジトリが存在しないことを確認する(あれば削除する)

実行

  1. npm startで起動またはアプリでCtrl+Shift+Rキーを押す(リロードする)
  2. git initコマンドが実行される
    • repo/リポジトリ名ディレクトリが作成され、その配下に.gitディレクトリが作成される
  3. [createRepo][]実行後、リモートリポジトリが作成される

GitHub Pages デプロイ

アップロードされたファイルからサイトを作成する。

  1. アップロードしたユーザのリポジトリページにアクセスする(https://github.com/ユーザ名/リポジトリ名
  2. 設定ページにアクセスする(https://github.com/ユーザ名/リポジトリ名/settings
  3. Pagesページにアクセスする(https://github.com/ユーザ名/リポジトリ名/settings/pages
    1. SourceのコンボボックスがDeploy from a branchになっていることを確認する
    2. Branchmasterにし、ディレクトリを/(root)にし、Saveボタンを押す
    3. F5キーでリロードし、そのページにhttps://ytyaru.github.io/リポジトリ名/のリンクが表示されるまでくりかえす(数分かかる
    4. https://ytyaru.github.io/リポジトリ名/のリンクを参照する(デプロイ完了してないと404エラー)

結果

投げモナボタンが表示されなかった。自動作成されたリポジトリのソースコードをみてみると、ボタンの画像ファイルがアップロードされなかったせい。asset/ディレクトリまるごと。なぜアップされなかったかは不明。ちゃんとsite-maker.jsで以下のようなコードを書いてあるのに。

this.#cp(`asset/`),

ローカルリポジトリ内にはファイルコピーされていた。なのにGitHubにアップロードされてない。

非同期がうまくいってない感じかな? でもちゃんとmain.jsawaitしているし。謎。

await maker.make()
await git.push()

次々と原因不明の問題が出てくるなぁ。本当はもっと機能追加とかしたいのに、最低限のことすらできず、先に進めない……。ElectronやNode.jsでの実装がこんなに大変だとは思わなかった。