Electronアップデート時の個人的なメモ
※本ページはプロモーションが含まれていますElectronをアップデートする時の個人的なメモです。
アップデート
Electronの最新版をインストール
npm i electron@latest
Stable Releases | ElectronでインストールしたElectronの対応nodeバージョンを調べる。メジャーバージョンのX.0.0にnodeのバージョンが書かれている。
nodistでnodeのバージョンを管理している場合、インストール可能なバージョンを確認。
nodist dist
Electronのnodeのバージョンと近いバージョンをインストールし変更。
nodist 14.4.0
変更したバージョンに合ったnpmをインストール。
nodist npm match
その他
nedb関連で下記のようなエラーが出た場合
node_modules/@types/nedb/index.d.ts(9,23): error TS4090: Conflicting definitions for 'node' found at 'C:/Users/admin/AppDev/LeanEditor/node_modules/@types/node/ts3.7/index.d.ts' and 'C:/Users/admin/AppDev/LeanEditor/node_modules/electron/node_modules/@types/node/index.d.ts'. Consider installing a specific version of this library to resolve the conflict. [2] wait-on http://localhost:3000 && tsc -p electron && electron . exited with code 1 [1] node_modules/@types/nedb/index.d.ts(9,23): error TS4090: Conflicting definitions for 'node' found at 'C:/Users/admin/AppDev/LeanEditor/node_modules/@types/node/ts3.7/index.d.ts' and 'C:/Users/admin/AppDev/LeanEditor/node_modules/electron/node_modules/@types/node/index.d.ts'. Consider installing a specific version of this library to resolve the conflict.
node_module/@types/nodeのバージョンを、node_modules/electron/node_module/@types/node/package.jsonの「_id」に書かれているバージョンにする。
npm i @types/node@バージョン番号
nodeのバージョンを、node_module/electron/node_module/@types/node/package.jsonの「_id」に書かれているバージョンに近いバージョンに上げる。
@types/nedbが、
///
というところで「@types/node/index.d.ts」を使うと宣言していて、node_modules/@types/node/index.d.tsとnode_modules/electron/node_modules/@types/node/index.d.tsの2つあるのが原因。
おわりに
バージョンアップすると何かとエラーが出るので困ります…。