#npm run deploy error
1 messages · Page 1 of 1 (latest)
Okay thanks i try this
Oui
Je fais ce tuto (https://blog.devgenius.io/auto-updater-for-react-electron-app-tutorial-18b1a6db08bd) pour fiare une mise à jour automatique et je dois publier une realese sur github pour voir si ça marche
@kindred valve
autoUpdater.on(“update-downloaded”, (_event, releaseNotes, releaseName) => {
const dialogOpts = {
type: ‘info’,
buttons: [‘Restart’, ‘Later’],
title: ‘Application Update’,
message: process.platform === ‘win32’ ? releaseNotes : releaseName,
detail: ‘A new version has been downloaded. Restart the application to apply the updates.’
};
dialog.showMessageBox(dialogOpts).then((returnValue) => {
if (returnValue.response === 0) autoUpdater.quitAndInstall()
});
});
D'apres ce que j'ai compris tu dois ajouter ceci
@spring solar
Deja mis dans mon index.js :
Ah oui j'ai miss click et du coup je l'ai glissé dans src/
Je vais voir mtn si ça marche
Oui
fait voir ton arborecense
arborecense ?
toujours pas.
okay
Je dois partir la donc je refais quand je serais dispo. Je te ping quand je suis dispo si ca te dérange pas
oui pas de soucis
Dans ta config tu as mis :
"files": [
"build/**/*",
"node_modules/**/*"
],
Ce qui signifie que seul le contenu des dossiers build et node_modules (qui ne devrait absolument pas être dans cette liste) est packagé par electron-builder. Ton entry file ne fait donc pas partie du voyage puisqu'il est dans src donc forcement tu as une erreur.
Normalement, avant de build pour electron tu dois déjà build ton projet avec un outil comme webpack afin que tes fichiers soient compilés. Et une fois que tu as fait ça et que tes fichiers sont tout prêt dans un dossier build, là tu peux run le packager.
D'ailleurs je ne comprend pas pourquoi tu as installé electron-forge et electron-builder
Utilises soit l'un soit l'autre mais pas les deux
Comme je l'ai dis précédemment je suis ce tuto https://blog.devgenius.io/auto-updater-for-react-electron-app-tutorial-18b1a6db08bd . Donc J'ai fait exactement comme lui. Je vais supprimer ```json
"files": [
"build//*",
"node_modules//*"
],
Je dois faire ceci ?
Je dois utiliser le quelle alors ?
Tu dois juste supprimer node_modules
Daccord
Oui
A toi de choisir
Merci.
Ils sont pareil ?
Non
de mémoire electron-forge propose en plus un template de projet
Avec la dernière version qui vient de sortir c'est aussi devenu l'outil officiel pour package les applications electron
electron-builder va aussi te permettre de package ton app
les configurations sont différentes entre les deux
Je dois mettre quoi dans mon fichier webpack.config.js ?
euh alors là c'est compliqué
Ah d'accord, je vais voir le quel choisir
Quel techno tu utilises pour ton application ?
https://webpack.js.org/guides/installation/ sinon je suis cette doc
?
Vanilla JS, React, autre... ?
En gros comment tu as créer ton projet, from scratch ?
tu es partie d'un template ?
Non pas du tout
J'ai suivis la doc electronjs et la je veux faire un auto updater
mais je galère
Donc en fait à l'heure actuelle tu n'utilises pas du tout webpack ?
Okay... bon on va faire simple alors, ça va etre trop compliqué si tu dois apprendre à faire une config webpack là comme ça
part sur electron-forge
et utilise cette doc :
D'accord
ta config build est pour electron-builder donc il va falloir en réécrire une pour electron-forge
et tu pourras supprimer electron-builder
Merci beaucoup. Je vais faire ça
Bonne chance ^^
Merci 😭
Pour html et js je dois mettre le lien vers mon fichier index.js et index.html c'est bien ça ?
Euh dans mon forge.config.js j'ai deja ceci : ```js
module.exports = {
packagerConfig: {},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
platforms: ['darwin'],
},
{
name: '@electron-forge/maker-deb',
config: {},
},
{
name: '@electron-forge/maker-rpm',
config: {},
},
],
};
JE le supprime ?
index.js c'est le fichier js de ton renderer ?
nn il se nomme renderer.js
pour ton forge.config.js tu vas pouvoir le configurer comme tu veux
ok donc tu dois utiliser ce nom là
donc je supprime tout.
ok mrc
Ben dans ce fichier tu dois mettre la config quand même
si tu ne veux pas te prendre la tête, tu devrais peut etre créer un nouveau projet avec la commande :
yarn/npm create electron-app my-new-app --template=webpack
Et transférer ton code dessus
au moins tu auras une config toute prête
très bonne idée !
parceque là à mon avis tu n'as pas de fichier webpack.main.config.js et webpack.renderer.config.js
prcq la mon répertoire c n'imp
ouais x)
oui je viens de les crées
la pas un template avec un auto updater ?
Non je n'en connais pas désolé, tu peux chercher sur le net. Mais bon après c'est toujours mieux d'essayer de faire soit même pour apprendre
Oui mais cela fait 3 semaines que j'essaye et j'ai soit des erreurs soit sa marche pas 😭
Je vais continuer a apprendre alors
Bon, ben part sur une base propre
OUi
et rééssaye là dessus
D'accord
en faisant ça tout est installé ?
Une fois que tu auras une app qui marche, tu peux suivre les instructions ici :
https://www.electronforge.io/advanced/auto-update
https://www.electronjs.org/docs/latest/tutorial/updates
There are several ways to update an Electron application. The easiest and officially supported one is taking advantage of the built-in Squirrel framework and Electron's autoUpdater module.
Merci beaucoup
ça va juste te créer un nouveau projet electron + electron-forge
Donc je devrais installé les modules ?
Ceux dont tu as besoin oui
D'accord merci
tu devras peut être faire yarn/npm install après avoir créer le projet
là pour le coup tu as tout d'expliqué sur la page d'electron-forge :
https://www.electronforge.io/
Top 👍
Merci beaucoup !
Donc si j'ai bien compris, je veux pas faire de conneries mdr, si je suis cette doc (https://www.electronjs.org/fr/docs/latest/tutorial/updates) et que je choisis Hazel ,car mon répertoire Github est privés, il me suffis de mettre ```js
const { app, autoUpdater } = require('electron')
const server = <your-deployment-url>
const url = ${server}/update/${process.platform}/${app.getVersion()}
autoUpdater.setFeedURL({ url })
``` dans mon index.js comme dis sur leur doc (https://github.com/vercel/hazel) ?
@ivory grail
Si c'est ce que dit la doc alors oui ^^
Ah non j'avais oublié une étape 😅
@ivory grail J'aurais besoin de ton aide car je suis perdu, sur la doc gthub de Hazel il me dise d'aller sur ce lien de deployer Hazel sur Vercel, je l'ai donc fait, et c'est la que sa devient bizarre. J'explique :
- Il faut que je crée un nouveau répertoire github
- Je dois mettre mon nom github et mon répertoire (j'ai mis celui crée dans l'étape
1)
- J'arrive la dessus et je sais pas quoi faire -_-
- Le répertoire ressemble à ceci :
Je n'ai jamais utilisé Hazel je n'en sais pas plus que toi :/
Bon bah je vais essayer avec autre chose :/
Je pense que tu devrais persévérer un peu plus avant de changer
D'accord... je vais persévérer
Après c'est à toi de voir hein, mais si tu abandonnes si vite tu n'arriveras à rien à la fin
Ouais je vais continuer, je veux essayer de réussir
@ivory grail est ce que tu sais comment mettre une icon à son app ?
Tu dois avoir une option dans forge
Okay je vais regarder merci :)
Il y a aussi un paramètre sur ta window mais perso j'ai jamais réussi à le faire fonctionner
Juste pour info, à l'époque c'est ce poste qu'il m'avait aidé :
https://stackoverflow.com/a/72107474/9718056
D'accord je vais voir merci
Marche pas 😭
Ton chemin n'est surement pas bon
🤔
je regarde cette doc
et bah c'est pas ce qu'il faut faire ?
donc tu ne dois pas mettre
config: {
forge: {}
}
regarde bien, tu as mis deux fois packagerConfig
oh le con 🙄
ça c'est seulement quand tu écris la config directement dans ton package.json
donc js config: { forge: {} }c'est dans package.json ?
SI tu écris la configuration directement dans package.json, ce qui n'est pas ton cas, toi tu écris la config dans un fichier forge.config.js
Oui
Il y a beaucoup de librairies qui te permettent d'écrire leur configuration soit sur le package.json dans des objets dédiés, soit dans un fichier séparé
donc.... js config: { forge: {} } et dans forge.config.js
Non, ce bout de code là, c'est le fameux "objet dédié" de forge, pour qu'il sache où regarder quand tu écris la conf dans package.json
mais vu que toi tu as un fichier séparé, tu n'en a pas besoin
en gros ton forge.config.js = config: { forge: {} }
^^
Donc ```js
module.exports = {
packagerConfig: {
icon: './zyh0.ico'
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
platforms: ['darwin'],
},
{
name: '@electron-forge/maker-deb',
config: {},
},
{
name: '@electron-forge/maker-rpm',
config: {},
},
],
};
Si on en crois la doc, je ne sais pas si ton chemin sera bon par contre, à tester
🤔 je pense plus que c'est comme ceci :
module.exports = {
packagerConfig: {
icon: '/zyh0.ico' // ou
icon: '/zyh0'
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
platforms: ['darwin'],
},
{
name: '@electron-forge/maker-deb',
config: {},
},
{
name: '@electron-forge/maker-rpm',
config: {},
},
],
};```
Et donc, ça marche ?
Non, toujours pas. J'ai aussi était rechercher sur une autre doc et on ma dit de mettre ceci icon: '/Logo_Zikaa_Rond.png', dans const mainWindow = new BrowserWindow({}) mais cela ne marche pas dans mon Browser non plus.
Je n'ai jamais réussi à faire marché l'icone dans BrowserWindow non plus
j'avais réussis dans mon ancienne version.
J'avais mis ```json
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"build": "electron-builder build --mac --win --publish never",
"deploy": "electron-builder build --win --publish always"
},
"build": {
"appId": "com.zikaat.app",
"productName": "Zikaa App",
"icon": "Logo_Zikaa_Rond.png",
"publish": [
{
"provider": "github",
"owner": "LegoshiiFR",
"repo": "Zikaa_App",
"token": "MON_TOKEN"
}
]
},
Et cela marcher
oui, mais ça c'est electron-builder
Oui et donc pas electron forge
Petite question, dans le template la le script npm run package, cela fait quoi ?
Je ne sais plus exactement la différence entre "package" et "make" mais c'est écrit quelque part sur la doc
pour l'icone, le problème peut aussi juste être windows qui ne met pas à jour l'icone
d'accord
genre si tu déplaces l'exe dans un autre dossier ça donne quoi ?
Hum, tu as essayé icon: "zyh0" ?
Top
Par contre 😑 quand je fais npm start dans mon BrowserWindow j'ai bien l'icone spécifié (voir screen1) mais quand je fais npm run make et que je lance Zikaa App.exe dans mon BrowserWindow j'ai pas l'icone 🤷♂️
Hum.. C'est peut être windows qui met pas l'icône à jour
Je ne garantie pas que ça marche mais tu peux essayer ça :
Ou alors en fait c'est peut être juste ton path qui n'est encore pas bon
Normalement tu dois faire un path.join(__dirname, iconPath),
il faut que tu mettes le lien relatif à l'emplacement de ton fichier
Je viens de le mettre est cela fonctionne, pourtant j'avais vue sur la doc electron qu'on avait pas besoin de mettre path.join(__dirname, peut être que c'était une ancienne version 🤷♂️