mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-03-20 05:40:28 -07:00
106 lines
4.3 KiB
Markdown
106 lines
4.3 KiB
Markdown
# Deal with error when pnpm start
|
||
|
||
## `Uncaught ReferenceError: require is not defined`
|
||
|
||
Or `Uncaught TypeError: Cannot read properties of undefined (reading 'call') at __webpack_require__ (index.js:4317:33)`
|
||
|
||
`pnpm run clean:cache` can fix this.
|
||
|
||
## Electron download slow
|
||
|
||
Add `.npmrc` on this project (sometimes the one at home folder is not working).
|
||
|
||
```npmrc
|
||
electron-mirror=https://registry.npmmirror.com/-/binary/electron/
|
||
electron_custom_dir={{ version }}
|
||
```
|
||
|
||
and run `node node_modules/electron/install.js` manually.
|
||
|
||
## Preparing native dependencies `Error: ENOENT: no such file or directory, stat 'xxx/node_modules/.pnpm/node_modules/@types/lodash-es'`
|
||
|
||
Or `[FAILED: ENOENT: no such file or directory, stat 'C:\Users\linonetwo\Documents\repo-c\TidGi-Desktop\node_modules\.pnpm\node_modules\@radix-ui\react-compose-refs']`
|
||
|
||
Remove it by run `rm 'xxx/node_modules/.pnpm/node_modules/@types/lodash-es'` fixes it. Maybe pnpm install gets interrupted, and make a file-like symlink, get recognized as binary file. Remove it will work.
|
||
|
||
## An unhandled rejection has occurred inside Forge about node-abi:
|
||
|
||
Solution: Update `@electron/rebuild` to latest version:
|
||
|
||
```shell
|
||
pnpm up @electron/rebuild@latest
|
||
```
|
||
|
||
## Fetch failed at fetchAvailableUpdates
|
||
|
||
We use [electron-chrome-web-store](https://github.com/samuelmaddock/electron-browser-shell/blob/master/packages/electron-chrome-web-store/README.md) to load react dev tools, so you need to add `https://clients2.google.com/service/update2/crx` to your Clash/Proxifier list. May need to enable system proxy and TUN mode or so.
|
||
|
||
## Finalizing package postPackage error
|
||
|
||
Add `DEBUG=electron-packager` to package, like:
|
||
|
||
`cross-env NODE_ENV=production DEBUG=electron-packager electron-forge make --platform=win32 --arch=x64`
|
||
|
||
<https://github.com/electron/forge/issues/3645>
|
||
|
||
Usually you need to fix [scripts\afterPack.js](../scripts/afterPack.js)
|
||
|
||
If use pnpm, need to copy dependency binary from `.pnpm` folder, but if add `node-linker=hoisted` to [.npmrc](../.npmrc) then we can simply copy from node_modules folder.
|
||
|
||
## no such file or directory dprint
|
||
|
||
> no such file or directory, stat 'TiddlyGit-Desktop/node_modules/.pnpm/node_modules/@dprint/darwin-arm64'
|
||
|
||
Solution:
|
||
|
||
```sh
|
||
pnpm store prune
|
||
pnpm uninstall dprint
|
||
pnpm i -D dprint -f
|
||
```
|
||
|
||
## node-gyp failed to rebuild
|
||
|
||
```js
|
||
Running generateAssets hook
|
||
|
||
› TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
|
||
ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
|
||
TOUCH Release/obj.target/deps/locate_sqlite3.stamp
|
||
CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
|
||
LIBTOOL-STATIC Release/sqlite3.a
|
||
Usage: /opt/anaconda3/bin/libtool [OPTION]... [MODE-ARG]...
|
||
Try 'libtool --help' for more information.
|
||
libtool: error: unrecognised option: '-static'
|
||
make: *** [Release/sqlite3.a] Error 1
|
||
rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
|
||
Error: `make` failed with exit code: 2
|
||
at ChildProcess.onExit TiddlyGit-Desktop/node_modules/.pnpm/node-gyp@9.4.0/node_modules/node-gyp/lib/build.js:203:23)
|
||
at ChildProcess.emit (node:events:511:28)
|
||
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
|
||
|
||
An unhandled rejection has occurred inside Forge:
|
||
Error: node-gyp failed to rebuild '/Users/linonetwo/Desktop/repo/TiddlyGit-Desktop/node_modules/.pnpm/better-sqlite3@8.4.0/node_modules/better-sqlite3'
|
||
at ChildProcess.<anonymous> TiddlyGit-Desktop/node_modules/.pnpm/@electron+rebuild@3.2.13/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
|
||
at ChildProcess.emit (node:events:511:28)
|
||
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
|
||
ELIFECYCLE Command failed with exit code 1.
|
||
```
|
||
|
||
Solution:
|
||
|
||
```sh
|
||
node_modules/.bin/electron-rebuild -f -w better-sqlite3
|
||
```
|
||
|
||
## Error: The module '/Users/linonetwo/Desktop/repo/TidGi-Desktop/node_modules/opencv4nodejs-prebuilt/build/Release/opencv4nodejs.node'
|
||
|
||
was compiled against a different Node.js version using
|
||
|
||
NODE_MODULE_VERSION 88. This version of Node.js requires
|
||
|
||
NODE_MODULE_VERSION 93. Please try re-compiling or re-installing
|
||
|
||
the module (for instance, using `npm rebuild` or `npm install`).
|
||
|
||
See <https://github.com/justadudewhohacks/opencv4nodejs/issues/401#issuecomment-463434713> if you still have problem rebuild opencv for @nut-tree/nut-js
|