エンジニア夫婦の技術日記

TODO作成ツール作ってみようpart3


2023年8月16日
Posted by 
向日葵

こんにちは。向日葵です。

今回は前回に引き続きTODO作成ツールを作って?(前回はまだ設計レベルでした)いこうと思います。
と言っても今回は環境構築なので、コード書いたりするのはもっと後になります。

早速環境構築に取り掛かるわけなんですが今まで環境構築が公私ともに1発でいった試しがないのでいささか不安であります。

今回使用するフレームワークのElectronはもうすでに入った状態だったので説明は割愛させていただきます。当時勉強のためにこちらの本を購入して本の通りにセットアップしています。

今回初めてSQLite3を使っていくのですが、先ほど紹介した本の中に説明があったのでその通りやってみたいと思います。

次のように叩いてみる。

node_modules.bin\electron-rebuild -f -w sqlite3

モジュール等をインストールしていこうとしていた時にやはり出ました。
謎のエラー…

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild ‘C:\product\new-toDoCreate\node_modules\sqlite3’.
For more information, rerun with the DEBUG environment variable set to “electron-rebuild”.

Error: Could not find any Python installation to use

Error: node-gyp failed to rebuild ‘C:\product\new-toDoCreate\node_modules\sqlite3’.
For more information, rerun with the DEBUG environment variable set to “electron-rebuild”.

Error: Could not find any Python installation to use

at NodeGyp.rebuildModule (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-type\node-gyp.js:120:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async ModuleRebuilder.rebuildNodeGypModule (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-rebuilder.js:98:9)
at async ModuleRebuilder.rebuild (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-rebuilder.js:128:14)
at async Rebuilder.rebuildModuleAt (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\rebuild.js:149:13)  at async Rebuilder.rebuild (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\rebuild.js:112:17)
at async C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\cli.js:158:9

約2個ほど文句を言っています。何が不満なのか…
発狂したい気分を抑えて格闘スタートです。

まず1つ目のエラーは

Error: Could not find any Python installation to use

直訳すると、「使用するためのPythonのインストールが見つからなかった」
になるんじゃないかと思いますが

さっっっっっっっっっっっっっっっっっっぱりわかりません。
調べてもよくわからず詰んだ…( = =) トオイメ

ということでいったん無視して2つ目のエラーへ

node-gyp failed to rebuild

直訳すると「node-gypのリビルドに失敗」
になるんじゃないかと思いますが

そもそも「node-gyp」とは何ぞや???

node-gypはNode.jsのネイティブアドオンモジュールをコンパイルするためにNode.jsで記述されたクロスプラットフォームのコマンドラインツールです。

なるほど!わからん…
調べていくとどうやら「node-gyp」は公式のread meが一番わかりやすいということがわかり私も読んでみることに。
そこでわかったこと

そもそもインストールしたことなくない????

ダメ元でインストールをしてみることに

エラーは変わってないですね…知ってました(*´꒳`*)

read meを読み進めると有益な情報が!!!

Install the current version of Python from the Microsoft Store package.

Microsoft Store package

Pythonインストールしろ言うてはります。
インストールしてみたいと思いますが、普通にインストールしたら環境変数とかめんどくさかった記憶があるのでChocolateyでインストールしてみたいと思います。そしてここで罠にはまりました。

そうなんです。普通に「Chocolatey」で検索するとコマンドラインのほうの「Chocolatey」が出てくるんです。こんな工程あったかなとか思いながら作業してました…( = =) トオイメ
途中で自分が求めていたのが「Chocolatey GUI」であることに気づいて改めて「Chocolatey」のインストールをして無事Pythonのインストールができました。
いざ実行!!!!!!!!!!!

エラーが変わった!!!!!!!!!!!!
やりました。エラーが1つ変わりました。
今度はVisual Studioのようです。
何のためにいるんでしょう…

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild ‘C:\product\new-toDoCreate\node_modules\sqlite3’.
For more information, rerun with the DEBUG environment variable set to “electron-rebuild”.

Error: Could not find any Visual Studio installation to use

Error: node-gyp failed to rebuild ‘C:\product\new-toDoCreate\node_modules\sqlite3’.
For more information, rerun with the DEBUG environment variable set to “electron-rebuild”.

Error: Could not find any Visual Studio installation to use

at NodeGyp.rebuildModule (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-type\node-gyp.js:120:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async ModuleRebuilder.rebuildNodeGypModule (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-rebuilder.js:98:9)
at async ModuleRebuilder.rebuild (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\module-rebuilder.js:128:14)
at async Rebuilder.rebuildModuleAt (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\rebuild.js:149:13)
at async Rebuilder.rebuild (C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\rebuild.js:112:17)
at async C:\product\new-toDoCreate\node_modules\electron-rebuild\lib\src\cli.js:158:9

調べたら「 Tools for Visual Studio 2017」をインストールしたらよさそうなのでChocolateyでインストールしてみたいと思います。インストールできたら起動して

「変更」を押して

「web開発ビルドツール」を押して

「変更」を押す
コマンドプロンプトを起動して以下のように叩く

npm config set msvs_version 2017

PCを再起動して再度挑戦

変わりません
さらに調べる必要がありそうです。
そして調べた結果興味深い記事が!!

node.js自体がそもそも、C言語やPythonで作られているようなので、python2.7やらCをインストールしてパスを通す必要があるようです。

まさかと思い再度ビルドツールを起動

「Visual C++ Build Tols」を選択し、先ほど同様変更を押してみて
再度実行

あ…できました!!!
正直全くわかりませんでした。今回Cを使う予定は一切なかったので関係ないや~とスルーしてました…

何はともあれエラーが解消されてよかったです。
今回はいったんここまで終わりたいと思います。
最後まで見ていただきありがとうございます。
次回は引き続き環境構築を行いたいと思います。

コメントを書く