sindresorhus / caprine

Elegant Facebook Messenger desktop app

Home Page:https://sindresorhus.com/caprine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

how could I build caprine in my computer

yosheng opened this issue Β· comments

I try to add command in package.json like "pack": "electron-builder -w" , and then execute npm run pack.
Evereything is ok!
image

But when I try to open Caprine.exe in dist\win-unpacked, I got this error
image

If I try to execute npm run release, it will show I don't have permission to push package. Dose I mssing something?
Hope someone could help me 😭

Have you made any modifications to the source code or packages? For instance, packages.json currently lists Electron-Builder as v24.12.0, but yours is using v24.13.3. Similarly, yours is using Electron v29.1.0 instead of v29.0.1.

Could you put the output of the command npm list here to help debug?

caprine@2.60.0 /file/path/to/caprine
β”œβ”€β”€ @electron/remote@2.1.2
β”œβ”€β”€ @sindresorhus/do-not-disturb@1.1.0
β”œβ”€β”€ @sindresorhus/tsconfig@0.7.0
β”œβ”€β”€ @types/electron-localshortcut@3.1.3
β”œβ”€β”€ @types/facebook-locales@1.0.2
β”œβ”€β”€ @types/lodash@4.14.202
β”œβ”€β”€ del-cli@5.1.0
β”œβ”€β”€ electron-better-ipc@2.0.1
β”œβ”€β”€ electron-builder@24.12.0
β”œβ”€β”€ electron-context-menu@3.6.1
β”œβ”€β”€ electron-debug@3.2.0
β”œβ”€β”€ electron-dl@3.5.2
β”œβ”€β”€ electron-localshortcut@3.2.1
β”œβ”€β”€ electron-store@8.1.0
β”œβ”€β”€ electron-updater@6.1.8
β”œβ”€β”€ electron-util@0.17.2
β”œβ”€β”€ electron@29.0.1
β”œβ”€β”€ element-ready@5.0.0
β”œβ”€β”€ facebook-locales@1.0.916
β”œβ”€β”€ husky@9.0.11
β”œβ”€β”€ is-online@9.0.1
β”œβ”€β”€ json-schema-typed@8.0.1
β”œβ”€β”€ lodash@4.17.21
β”œβ”€β”€ np@9.2.0
β”œβ”€β”€ npm-check-updates@16.14.15
β”œβ”€β”€ p-wait-for@3.2.0
β”œβ”€β”€ patch-package@8.0.0
β”œβ”€β”€ stylelint-config-xo@0.22.0
β”œβ”€β”€ stylelint@14.16.1
β”œβ”€β”€ typescript@5.3.3
└── xo@0.57.0

Side note: In general, you can use npx to run commands from npm. For example, instead of adding to the package.json, you can manually call npx electron-builder -w.

I didn't modify the code, just pull and run npm install command. I do some change in my branch, but finally I want to build the app still got the same error.

Herer is my npm list result.

caprine@2.60.0 D:\CodeProject\caprine                                                                                                                                        
+-- @babel/code-frame@7.23.5 extraneous -> .\node_modules\.store\@babel+code-frame@7.23.5\node_modules\@babel\code-frame                                                     
+-- @babel/helper-validator-identifier@7.22.20 extraneous -> .\node_modules\.store\@babel+helper-validator-identifier@7.22.20\node_modules\@babel\helper-validator-identifier
+-- @babel/highlight@7.23.4 extraneous -> .\node_modules\.store\@babel+highlight@7.23.4\node_modules\@babel\highlight                                                        
+-- @electron/remote@2.1.2 -> .\node_modules\.store\@electron+remote@2.1.2\node_modules\@electron\remote                                                                     
+-- @eslint-community/eslint-utils@4.4.0 extraneous -> .\node_modules\.store\@eslint-community+eslint-utils@4.4.0\node_modules\@eslint-community\eslint-utils                
+-- @eslint-community/regexpp@4.10.0 extraneous -> .\node_modules\.store\@eslint-community+regexpp@4.10.0\node_modules\@eslint-community\regexpp                             
+-- @eslint/eslintrc@3.0.2 extraneous -> .\node_modules\.store\@eslint+eslintrc@3.0.2\node_modules\@eslint\eslintrc                                                          
+-- @eslint/js@8.57.0 extraneous -> .\node_modules\.store\@eslint+js@8.57.0\node_modules\@eslint\js                                                                          
+-- @sindresorhus/do-not-disturb@1.1.0 -> .\node_modules\.store\@sindresorhus+do-not-disturb@1.1.0\node_modules\@sindresorhus\do-not-disturb                                 
+-- @sindresorhus/tsconfig@0.7.0 -> .\node_modules\.store\@sindresorhus+tsconfig@0.7.0\node_modules\@sindresorhus\tsconfig                                                   
+-- @types/electron-localshortcut@3.1.3 -> .\node_modules\.store\@types+electron-localshortcut@3.1.3\node_modules\@types\electron-localshortcut                              
+-- @types/eslint@8.56.5 extraneous -> .\node_modules\.store\@types+eslint@8.56.5\node_modules\@types\eslint
+-- @types/facebook-locales@1.0.2 -> .\node_modules\.store\@types+facebook-locales@1.0.2\node_modules\@types\facebook-locales
+-- @types/lodash@4.14.202 -> .\node_modules\.store\@types+lodash@4.14.202\node_modules\@types\lodash
+-- @typescript-eslint/eslint-plugin@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+eslint-plugin@6.21.0\node_modules\@typescript-eslint\eslint-plugin
+-- @typescript-eslint/parser@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+parser@6.21.0\node_modules\@typescript-eslint\parser
+-- @typescript-eslint/scope-manager@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+scope-manager@6.21.0\node_modules\@typescript-eslint\scope-manager
+-- @typescript-eslint/type-utils@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+type-utils@6.21.0\node_modules\@typescript-eslint\type-utils
+-- @typescript-eslint/types@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+types@6.21.0\node_modules\@typescript-eslint\types
+-- @typescript-eslint/typescript-estree@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+typescript-estree@6.21.0\node_modules\@typescript-eslint\typescript-estree
+-- @typescript-eslint/utils@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+utils@6.21.0\node_modules\@typescript-eslint\utils
+-- @typescript-eslint/visitor-keys@6.21.0 extraneous -> .\node_modules\.store\@typescript-eslint+visitor-keys@6.21.0\node_modules\@typescript-eslint\visitor-keys
+-- del-cli@5.1.0 -> .\node_modules\.store\del-cli@5.1.0\node_modules\del-cli
+-- electron-better-ipc@2.0.1 -> .\node_modules\.store\electron-better-ipc@2.0.1\node_modules\electron-better-ipc
+-- electron-builder@24.13.3 -> .\node_modules\.store\electron-builder@24.13.3\node_modules\electron-builder
+-- electron-context-menu@3.6.1 -> .\node_modules\.store\electron-context-menu@3.6.1\node_modules\electron-context-menu
+-- electron-debug@3.2.0 -> .\node_modules\.store\electron-debug@3.2.0\node_modules\electron-debug
+-- electron-dl@3.5.2 -> .\node_modules\.store\electron-dl@3.5.2\node_modules\electron-dl
+-- electron-localshortcut@3.2.1 -> .\node_modules\.store\electron-localshortcut@3.2.1\node_modules\electron-localshortcut
+-- electron-store@8.1.0 -> .\node_modules\.store\electron-store@8.1.0\node_modules\electron-store
+-- electron-updater@6.1.8 -> .\node_modules\.store\electron-updater@6.1.8\node_modules\electron-updater
+-- electron-util@0.17.2 -> .\node_modules\.store\electron-util@0.17.2\node_modules\electron-util
+-- electron@29.1.0 -> .\node_modules\.store\electron@29.1.0\node_modules\electron
+-- element-ready@5.0.0 -> .\node_modules\.store\element-ready@5.0.0\node_modules\element-ready
+-- eslint-compat-utils@0.1.2 extraneous -> .\node_modules\.store\eslint-compat-utils@0.1.2\node_modules\eslint-compat-utils
+-- eslint-config-prettier@9.1.0 extraneous -> .\node_modules\.store\eslint-config-prettier@9.1.0\node_modules\eslint-config-prettier
+-- eslint-config-xo-typescript@2.1.1 extraneous -> .\node_modules\.store\eslint-config-xo-typescript@2.1.1\node_modules\eslint-config-xo-typescript
+-- eslint-config-xo@0.44.0 extraneous -> .\node_modules\.store\eslint-config-xo@0.44.0\node_modules\eslint-config-xo
+-- eslint-formatter-pretty@6.0.1 extraneous -> .\node_modules\.store\eslint-formatter-pretty@6.0.1\node_modules\eslint-formatter-pretty
+-- eslint-import-resolver-node@0.3.9 extraneous -> .\node_modules\.store\eslint-import-resolver-node@0.3.9\node_modules\eslint-import-resolver-node
+-- eslint-import-resolver-webpack@0.13.8 extraneous -> .\node_modules\.store\eslint-import-resolver-webpack@0.13.8\node_modules\eslint-import-resolver-webpack
+-- eslint-module-utils@2.8.1 extraneous -> .\node_modules\.store\eslint-module-utils@2.8.1\node_modules\eslint-module-utils
+-- eslint-plugin-ava@14.0.0 extraneous -> .\node_modules\.store\eslint-plugin-ava@14.0.0\node_modules\eslint-plugin-ava
+-- eslint-plugin-es-x@7.5.0 extraneous -> .\node_modules\.store\eslint-plugin-es-x@7.5.0\node_modules\eslint-plugin-es-x
+-- eslint-plugin-eslint-comments@3.2.0 extraneous -> .\node_modules\.store\eslint-plugin-eslint-comments@3.2.0\node_modules\eslint-plugin-eslint-comments
+-- eslint-plugin-import@2.29.1 extraneous -> .\node_modules\.store\eslint-plugin-import@2.29.1\node_modules\eslint-plugin-import
+-- eslint-plugin-n@16.6.2 extraneous -> .\node_modules\.store\eslint-plugin-n@16.6.2\node_modules\eslint-plugin-n
+-- eslint-plugin-no-use-extend-native@0.5.0 extraneous -> .\node_modules\.store\eslint-plugin-no-use-extend-native@0.5.0\node_modules\eslint-plugin-no-use-extend-native
+-- eslint-plugin-prettier@5.1.3 extraneous -> .\node_modules\.store\eslint-plugin-prettier@5.1.3\node_modules\eslint-plugin-prettier
+-- eslint-utils@3.0.0 extraneous -> .\node_modules\.store\eslint-utils@3.0.0\node_modules\eslint-utils
+-- eslint-visitor-keys@4.0.0 extraneous -> .\node_modules\.store\eslint-visitor-keys@4.0.0\node_modules\eslint-visitor-keys
+-- eslint@8.57.0 extraneous -> .\node_modules\.store\eslint@8.57.0\node_modules\eslint
+-- facebook-locales@1.0.916 -> .\node_modules\.store\facebook-locales@1.0.916\node_modules\facebook-locales
+-- husky@9.0.11 -> .\node_modules\.store\husky@9.0.11\node_modules\husky
+-- is-online@9.0.1 -> .\node_modules\.store\is-online@9.0.1\node_modules\is-online
+-- json-schema-typed@8.0.1 -> .\node_modules\.store\json-schema-typed@8.0.1\node_modules\json-schema-typed
+-- lodash@4.17.21 -> .\node_modules\.store\lodash@4.17.21\node_modules\lodash
+-- np@9.2.0 -> .\node_modules\.store\np@9.2.0\node_modules\np
+-- npm-check-updates@16.14.15 -> .\node_modules\.store\npm-check-updates@16.14.15\node_modules\npm-check-updates
+-- p-wait-for@3.2.0 -> .\node_modules\.store\p-wait-for@3.2.0\node_modules\p-wait-for
+-- patch-package@8.0.0 -> .\node_modules\.store\patch-package@8.0.0\node_modules\patch-package
+-- prettier-linter-helpers@1.0.0 extraneous -> .\node_modules\.store\prettier-linter-helpers@1.0.0\node_modules\prettier-linter-helpers
+-- prettier@3.2.5 extraneous -> .\node_modules\.store\prettier@3.2.5\node_modules\prettier
+-- serialize-error@11.0.3 extraneous -> .\node_modules\.store\serialize-error@11.0.3\node_modules\serialize-error
+-- stylelint-config-xo@0.22.0 -> .\node_modules\.store\stylelint-config-xo@0.22.0\node_modules\stylelint-config-xo
+-- stylelint@14.16.1 -> .\node_modules\.store\stylelint@14.16.1\node_modules\stylelint
+-- types-eslintrc@1.0.3 extraneous -> .\node_modules\.store\types-eslintrc@1.0.3\node_modules\types-eslintrc
+-- typescript@5.3.3 -> .\node_modules\.store\typescript@5.3.3\node_modules\typescript
`-- xo@0.57.0 -> .\node_modules\.store\xo@0.57.0\node_modules\xo

I rollbakc the package.json and run npx electron-builder -w still got the same error. 😡 (Thanks for you replay, I'am newbie in electron develop)

Even though I modify package.json to chage electron and builder veriosn, still got the same error
image

Finally I ask my friend, solve the problem by those step

yarn add electron-is-dev
yarn
npx electron-builder -w

I was not aware that you were using yarn with this setup. This project doesn't explicitly support yarn, so there may be some slight differences in how it works. For instance, the electron-is-dev is installed as a dependency of other packages, which may not have gotten installed with yarn.

I'm glad you were able to solve the issue on your machine.