今回は結構長く「なぜだろう?」と悩んだので忘れない気もしますが、自分の記憶力はあまり信用できないので備忘録として残しておきます。

現在、仕事などでよく見るページをブックマークし、Electronから簡単にアクセスできる機能を開発しています。

イメージとしては上記のような形で、よくあるTodoアプリに近い画面構成です(実装中のものは、見た目も含めてもう少しいろいろと便利機能をプラスしています)。

electron-storeの導入

特に何も処理を書かない場合、アプリ内のデータは永続化されません。アプリを開きっぱなしなら値は残りますが、閉じると消えてしまいます。

そこで、登録したデータをローカルのJSONファイルとして保存してくれる electron-store を導入しました。

ローカルに設定ファイルを持ってくれるため、一度アプリを終了して開き直してもデータがしっかり残ります。とても便利です!

electron-storeのリポジトリ(※英語サイト)

Todo機能を制作中にエラーで頓挫

今回はUIもある程度きれいに仕上げたかったため、Reactも導入しました。以下の記事を参考にしながら黙々と制作を進めます。

【Qiita】Electron + Reactでデスクトップアプリを作ろう!

ある程度形になってきたところで、今回の本題である get と set のエラーが発生しました。

エラー内容:プロパティ 'get' は型 'ElectronStore' に存在しません

set についても同様のエラーが出ました。

エラーメッセージで検索したり、「electron-store 使い方」などの解説記事を漁ってみても、「基本的には .get や .set で取得・設定できるはずなのに…」としばらく頭を悩ませていました。

答えは Stack Overflow にあった

検索キーワードは忘れてしまいましたが、たまたま Stack Overflow の該当スレッドが目に入り、確認してみました。

引用: Try to downgrade electron-store version to 8.2.0 npm i electron-store@8.2.0. It helped in my case.

翻訳: electron-store のバージョンを 8.2.0 にダウングレードしてみてください(npm i electron-store@8.2.0)。私の場合はこれで解決しました。

該当スレッドはこちら:

electron-store returns "Property 'set' / 'get' does not exist on type"

ダウングレードで .get / .set が無事使えるように!

検証時の electron-store の最新バージョンは 10.0.0 でした。通常通り npm install を行うと最新版がインストールされてしまいます。

そのため、すでにインストール済みの場合は一旦既存パッケージを削除し、過去バージョンを指定して再インストールすることで解決できます。

1. 既存パッケージの削除

Bash

npm uninstall electron-store

2. バージョンを指定してインストール

Bash

npm install electron-store@8.2.0

これで無事に .get と .set が認識されるようになりました!

2026/09/22追記)

詳しい内容まで確認してなかった当時を考えると、変更点としてあるってことは非推奨になったとか理由があると思うので、今なら調べて最新の方法で出来ないか模索してるかもしれませんね…。

ダウングレードは最終手段だと思いつつ、セキュリティ的には新しいに越したことはないと思うので、今後は気をつけたい所存。

あとがき

ひとまず以前のように動くようになって安心しましたが、今回の対応はあくまで暫定対処という側面もあります。現状の最新版(v10系など)での正式な書き方については、開発がひと段落したタイミングで改めて調べてみたいと思います。

とりあえず無事に使えるようになったので、引き続きマイペースに開発を進めていきます!

(※余談ですが、お試しでインストールしたElectronを削除する際に確認したところ、容量が約600MBもあって驚きました…!)