bokub / linky

🔌 CLI tool to retrieve Linky smart meters data
GNU General Public License v3.0
224 stars 21 forks source link

dist/bin/cli.js: line 1: import: command not found #59

Closed bil44 closed 1 year ago

bil44 commented 1 year ago

Bonjour, Je voulais mettre à jour mon répo local avec la version 2.0.2 , et je tombe sur ces erreurs : root:>dist/bin/cli.js --help dist/bin/cli.js: line 1: import: command not found dist/bin/cli.js: line 2: import: command not found dist/bin/cli.js: line 3: import: command not found dist/bin/cli.js: line 4: import: command not found dist/bin/cli.js: line 5: import: command not found dist/bin/cli.js: line 6: import: command not found dist/bin/cli.js: line 7: import: command not found dist/bin/cli.js: line 8: import: command not found dist/bin/cli.js: line 9: syntax error near unexpected token e' dist/bin/cli.js: line 9:function exit(e) {'

Pour info, j'utilisais avant la version 1.7.0 , avec le même mode opératoire , et cela fonctionnait sans problème, pour écarter tout problème de mise à jour de repo local, pour ce test , j'ai supprimé l'ancien repo, et recloner à nouveau. Voilà ma procédure : -git clone https://github.com/bokub/linky.git -cd linky -npm install --no-audit (dans ma config juste 2 moderate severity vulnerabilities) -npm run build -chmod +x dist/bin/cli.js

test

dist/bin/cli.js --help (qui donne les erreurs plus haut).

Je ne sais pas , si c'est un problème de repo , ou un problème dans ma procédure (c'est tellement gros que j'opterai pour le second choix) mon node -v donne : v16.19.1 (le même utilisé pour la version de linky 1.7.0) Sur une Debian10.

D'avance merci pour ton indulgence et ton aide .

bil44 commented 1 year ago

En ajoutant node devant la commande : root@JeedomAtlas:/home/bil/EnedisProd/linky# node --trace-warnings dist/bin/cli.js (node:26174) ExperimentalWarning: Importing JSON modules is an experimental feature. This feature could change at any time at emitExperimentalWarning (node:internal/util:227:11) at ESMLoader.jsonStrategy (node:internal/modules/esm/translators:267:3) at ESMLoader.moduleProvider (node:internal/modules/esm/loader:468:14)

linky [options]

Commandes: linky auth Crée une connexion à un compte Enedis. Vous pouvez obtenir un token sur https://conso.boris.sh linky daily Récupère la consommation quotidienne linky loadcurve Récupère la puissance moyenne consommée quotidiennement, sur un intervalle de 30 min linky maxpower Récupère la puissance maximale de consommation atteinte quotidiennement linky dailyprod Récupère la production quotidienne linky loadcurveprod Récupère la puissance moyenne produite quotidiennement, sur un intervalle de 30 min

Options: linky auth: --token -t Token récupéré sur https://conso.boris.sh

linky (daily|loadcurve|maxpower|dailyprod|loadcurveprod):
  --start     -s      Date de début (AAAA-MM-JJ). Par défaut: hier
  --end       -e      Date de début (AAAA-MM-JJ). Par défaut: aujourd'hui
  --prm       -p      Numéro de PRM, obligatoire si le token permet d'accéder à plusieurs PRMs, optionnel sinon.
  --token     -t      Token, pour utiliser un token différent de celui enregistré avec la commande auth. Optionnel
  --format    -f      Determine le format d'affichage de sortie du script. Options: pretty, json, csv. Par défaut: pretty
  --quiet     -q      N'affiche pas les messages et animations de progression. Optionnel
  --output    -o      Fichier de sortie. Optionnel

Exemples: linky auth --token xxx.yyy.zzz linky daily linky dailyprod --start 2023-01-01 --end 2023-01-08 linky maxpower --start 2023-05-01 --end 2023-05-15 --format json --quiet linky loadcurve -s 2023-01-01 -e 2023-01-08 -o data/ma_conso.json --format json linky loadcurveprod -p 225169

bil44 commented 1 year ago

Salut, Je vois le pb ,

!/usr/bin/env node : cette ligne était dans la version 1.7.0 , et elle absente dans la version 2.0.2 !

Erreur ou c'est voulu?

bokub commented 1 year ago

Salut @bil44

Le point d'entrée de l'outil en ligne de commande n'est pas dist/bin/cli.js mais dist/bin/index.cjs, c'est donc assez normal que tu tombes sur des erreurs. Tu peux le voir dans le package.json:

https://github.com/bokub/linky/blob/7753200da6d20fedeaf440bf410fb34ce07c4b49/package.json#L8-L10

P.S: tu peux formatter tes blocs de codes en les entourant de triples backticks, là je t'avoue que tes messages sont assez difficiles à lire car tu mélanges du texte et du code

```
ton code
```
bokub commented 1 year ago

En revanche, si insistes pour lancer directement cli.js, tu peux faire node --no-warnings dist/bin/cli.js, ça fera la même chose que si tu passes par dist/bin/index.cjs comme prévu initialement.

Mais pourquoi est-ce que tu essaies de lancer une version locale du code ? Passer par npm ne te convient pas ?

bil44 commented 1 year ago

Bonjour, Je n'ai pas fait attention que le bin à utiliser est index.cjs. Le code est installé sur une box Jeedom officiel , j'installe en local pour éviter de polluer le reste. Merci pour ton retour rapide, ton aide et le temps qui tu passes sur ce projet très utile. (je ferme le ticket si j'ai les droits pour le faire)