[42_npmjs.pm] Update von Node.js Paketen per NPM aus FHEM

Begonnen von Loredo, 26 Januar 2019, 17:36:24

Vorheriges Thema - Nächstes Thema

Loredo

Bitte mal die Ausgabe von


{Dumper \$defs{'fhemServer'}}




posten.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

dk3572

Zitat von: Loredo am 25 Februar 2019, 16:13:10
Bitte mal die Ausgabe von


{Dumper \$defs{'fhemServer'}}




posten.

$VAR1 = \{
            'NR' => 497,
            '.attraggr' => [],
            'HOST' => 'localhost',
            'STATE' => 'error \'update npm@6.8.0\'',
            'NOTIFYDEV' => 'global,fhemServer',
            '.MetaInternals' => 1,
            'READINGS' => {
                            '.updatedList' => {
                                                'VAL' => '{"error":{"summary":"Parsing error - malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before \\"(end of string)\\") at ./FHEM/42_npmjs.pm line 1066.\\n","code":"E500","detail":""}}',
                                                'TIME' => '2019-02-25 16:12:33'
                                              },
                            'installed' => {
                                             'VAL' => 'successful',
                                             'TIME' => '2019-02-25 08:08:16'
                                           },
                            'updatesAvailable' => {
                                                    'TIME' => '2019-02-25 15:01:10',
                                                    'VAL' => '1'
                                                  },
                            'state' => {
                                         'VAL' => 'error \'update npm@6.8.0\'',
                                         'TIME' => '2019-02-25 16:12:33'
                                       },
                            '.packageList' => {
                                                'VAL' => '{"listed":{"dependencies":{"npm":{"version":"6.4.1"},"dorita980":{"version":"3.1.1","resolved":"https://registry.npmjs.org/dorita980/-/dorita980-3.1.1.tgz","from":"dorita980"},"alexa-fhem":{"version":"0.5.22","from":"alexa-fhem","resolved":"https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.22.tgz"}}},"versions":{"v8":"6.8.275.32-node.12","modules":"64","cldr":"33.1","nghttp2":"1.34.0","openssl":"1.1.0j","uv":"1.23.2","icu":"62.1","unicode":"11.0","ares":"1.15.0","napi":"3","zlib":"1.2.11","http_parser":"2.8.0","tz":"2018e","node":"10.15.1"},"outdated":{"npm":{"latest":"6.8.0","current":"6.4.1","wanted":"6.8.0","location":"/usr/lib/node_modules/npm"}}}',
                                                'TIME' => '2019-02-25 16:12:16'
                                              },
                            'updated' => {
                                           'VAL' => 'error',
                                           'TIME' => '2019-02-25 16:12:33'
                                         },
                            'nodejsVersion' => {
                                                 'TIME' => '2019-02-25 15:01:10',
                                                 'VAL' => '10.15.1'
                                               },
                            '.installedList' => {
                                                  'VAL' => '{"dependencies":{"alexa-fhem":{"dependencies":{"request":{"resolved":"https://registry.npmjs.org/request/-/request-2.88.0.tgz","version":"2.88.0","from":"request@>=2.88.0 <3.0.0","dependencies":{"har-validator":{"version":"5.1.3","from":"har-validator@>=5.1.0 <5.2.0","resolved":"https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz","dependencies":{"ajv":{"version":"6.9.2","from":"ajv@>=6.5.5 <7.0.0","resolved":"https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz"}}}}}},"resolved":"https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.22.tgz","from":"alexa-fhem@0.5.22","version":"0.5.22"}}}',
                                                  'TIME' => '2019-02-25 08:08:16'
                                                },
                            'outdated' => {
                                            'TIME' => '2019-02-25 16:12:16',
                                            'VAL' => 'check completed'
                                          }
                          },
            '.attrminint' => [],
            'helper' => {
                          'lastSync' => '2019-02-25'
                        },
            'VERSION' => '42_npmjs.pm:v1.0.1-s18726/2019-02-24',
            'TYPE' => 'npmjs',
            '.fhem' => {
                         'npm' => {
                                    'debug' => 0,
                                    'host' => 'localhost',
                                    'nodejsversions' => {
                                                          'openssl' => '1.1.0j',
                                                          'nghttp2' => '1.34.0',
                                                          'cldr' => '33.1',
                                                          'modules' => '64',
                                                          'v8' => '6.8.275.32-node.12',
                                                          'tz' => '2018e',
                                                          'node' => '10.15.1',
                                                          'zlib' => '1.2.11',
                                                          'http_parser' => '2.8.0',
                                                          'ares' => '1.15.0',
                                                          'napi' => '3',
                                                          'unicode' => '11.0',
                                                          'uv' => '1.23.2',
                                                          'icu' => '62.1'
                                                        },
                                    'listedpackages' => {
                                                          'dependencies' => {
                                                                              'npm' => {
                                                                                         'version' => '6.4.1'
                                                                                       },
                                                                              'dorita980' => {
                                                                                               'version' => '3.1.1',
                                                                                               'resolved' => 'https://registry.npmjs.org/dorita980/-/dorita980-3.1.1.tgz',
                                                                                               'from' => 'dorita980'
                                                                                             },
                                                                              'alexa-fhem' => {
                                                                                                'resolved' => 'https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.22.tgz',
                                                                                                'from' => 'alexa-fhem',
                                                                                                'version' => '0.5.22'
                                                                                              }
                                                                            }
                                                        },
                                    'installedpackages' => {
                                                             'dependencies' => {
                                                                                 'alexa-fhem' => {
                                                                                                   'resolved' => 'https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.22.tgz',
                                                                                                   'from' => 'alexa-fhem@0.5.22',
                                                                                                   'version' => '0.5.22',
                                                                                                   'dependencies' => {
                                                                                                                       'request' => {
                                                                                                                                      'from' => 'request@>=2.88.0 <3.0.0',
                                                                                                                                      'resolved' => 'https://registry.npmjs.org/request/-/request-2.88.0.tgz',
                                                                                                                                      'dependencies' => {
                                                                                                                                                          'har-validator' => {
                                                                                                                                                                               'from' => 'har-validator@>=5.1.0 <5.2.0',
                                                                                                                                                                               'resolved' => 'https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz',
                                                                                                                                                                               'dependencies' => {
                                                                                                                                                                                                   'ajv' => {
                                                                                                                                                                                                              'version' => '6.9.2',
                                                                                                                                                                                                              'from' => 'ajv@>=6.5.5 <7.0.0',
                                                                                                                                                                                                              'resolved' => 'https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz'
                                                                                                                                                                                                            }
                                                                                                                                                                                                 },
                                                                                                                                                                               'version' => '5.1.3'
                                                                                                                                                                             }
                                                                                                                                                        },
                                                                                                                                      'version' => '2.88.0'
                                                                                                                                    }
                                                                                                                     }
                                                                                                 }
                                                                               }
                                                           },
                                    'errors' => {
                                                  'summary' => 'Parsing error - malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/42_npmjs.pm line 1066.
',
                                                  'code' => 'E500',
                                                  'detail' => ''
                                                },
                                    'updatedpackages' => {
                                                           'error' => ${$VAR1}->{'.fhem'}->{'npm'}->{'errors'}
                                                         },
                                    'outdatedpackages' => {
                                                            'npm' => {
                                                                       'wanted' => '6.8.0',
                                                                       'current' => '6.4.1',
                                                                       'latest' => '6.8.0',
                                                                       'location' => '/usr/lib/node_modules/npm'
                                                                     }
                                                          },
                                    'cmd' => 'update npm@6.8.0',
                                    'npmglobal' => 1
                                  }
                       },
            'NTFY_ORDER' => '50-fhemServer',
            'FUUID' => '5c6827d7-f33f-cd72-4db2-0796c29e1b733179',
            'NAME' => 'fhemServer'
          };

dk3572

Servus,

hast du hierzu schon irgendwelche Erkenntnisse?
Oder brauchst du noch weitere Infos?

Danke und VG
Dieter

Loredo

Meine Vermutung ist, dass das NPM Kommando keine Ausgabe generiert hat. Dann wäre es ein Fehler bei dir auf dem Server.

Was passiert denn, wenn du nochmal set outdated ausführst? Was passiert, wenn du selbst in der Shell NPM aktualisierst:

sudo npm update -g npm
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

dk3572

Update auf der shell

dieter@intelnuc:~$ sudo npm update -g npm
[sudo] password for dieter:
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.8.0
added 54 packages from 9 contributors, removed 15 packages and updated 44 packages in 6.238s


Nach Neustart ein outdated mit Update für alexa-fhem als Ergebnis.
Update ausgeführt, alles wieder gut.

Auch wenn es das npmjs update Problem nicht gelöst hat,
danke für die Hilfe.

VG Dieter

Loredo

Dann hast du keine passwortlose sudo Berechtigung vergeben. Die Fehlermeldung von "sudo" hätte eigentlich abgefangen werden sollen, so dass du sie hättest sehen müssen. Bei mir klappt das hier, ich kann es also nicht nachstellen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

dk3572

Ich habe in /etc/sudoers.d eine Datei fhem mit dem Inhalt

fhem ALL=NOPASSWD: ALL

Sollte das nicht genau die passwortlose sudo Berechtigung sein?

Loredo

Wenn der User, unter dem FHEM läuft, auch "fhem" heißt, ja.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loki

Hast du Deinem fhem User jemals ein Passwort generiert?
Ich hatte kürzlich ein ähnliches Problem.
Mit einem "sudo passwd fhem" war die Sache erledigt und der Eintrag in der der sudoers hat korrekt funktioniert.

dk3572

müsste ich jetzt den user dieter mit in die Datei fhem unter sudoers.d packen?

dieter ALL=NOPASSWD: ALL

Oder eine separate Datei unter sudoers.d? Z.B. Dieter

Oder tatsächlich für fhem ein Passwort vergeben?
Möchte nichts falsch machen, nicht das ich mich noch aussperre oder ähnliches.

Danke.

Loki

Zur Sicherheit kannst du zunächst ein
ps aux | grep -i fhem
machen

Dann siehst in der ersten Spalte, unter welchem User dein fhem.pl läuft.

Bei mir sieht das so aus:
nuc@nuc:~$ ps aux | grep -i fhem
fhem     12009  6.6  5.0 324460 200460 ?       S    20:54   0:37 /usr/bin/perl fhem.pl fhem.cfg
fhem     12033  0.2  0.8 771300 33636 ?        Sl   20:54   0:01 node /usr/bin/alexa-fhem -c ./alexa-fhem.cfg


Dann fügst du die Zeile in eine Datei unter sudoers.d ein.
Wie die Datei heißt, ist egal. Wenn du schon eine dort hast, dann füge die Zeile einfach hinzu.
Die Berechtigung sollte 0440 sein.

Ein eigenes Passwort für den fhem User zu generieren stellt kein Problem dar.


ToKa

Hallo zusammen,

ein set outdated hat mir heute zurückgeliefert, dass es ein update für npm gibt. Das set update npm liefert folgenden Fehler:

Error code E500
Summary:
Parsing error - malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/42_npmjs.pm line 1066.


Detail:


System ist ein Raspi...

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Wuppi68

Zitat von: ToKa am 28 Februar 2019, 19:55:06
Hallo zusammen,

ein set outdated hat mir heute zurückgeliefert, dass es ein update für npm gibt. Das set update npm liefert folgenden Fehler:

Error code E500
Summary:
Parsing error - malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/42_npmjs.pm line 1066.


Detail:


System ist ein Raspi...

Beste Grüße
Torsten

mit der Sache habe ich gestern auch gekämpft - und verloren ... ppm scheitert bei mir an einem Modul ... aber wichtig ist es mir, dass ich wenigstens da auf einfache angezeigt bekomme, dass ich etwas tun sollte :-) Also keinen wirklichen Druck auf der Pipeline
FHEM unter Proxmox als VM

Timmäää

Hi Loredo,

vielen Dank für dein Modul, allerdings zeigt es mir keine Updates an, da dein Modul beim Parsen auf einen Fehler läuft:


Error code E500
Summary:
Parsing error - malformed JSON string, neither array, object, number, string or atom, at character offset 439 (before "(node:17630) [DEP002...") at ./FHEM/42_npmjs.pm line 1068.


Detail:
{
"versions":
{"http_parser":"2.8.1","node":"8.11.1","v8":"6.2.414.50","uv":"1.18.0","zlib":"1.2.8","ares":"1.14.0","modules":"57","nghttp2":"1.25.0","openssl":"1.0.2l","icu":"57.1","unicode":"8.0","cldr":"29.0","tz":"2016b"}
, "listed": {
  "dependencies": {
    "alexa-fhem": {
      "version": "0.5.24",
      "from": "alexa-fhem@0.5.24",
      "resolved": "https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.24.tgz"
    }
  }
}
, "outdated": (node:17630) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
{
  "supports-color": {
    "current": "5.5.0",
    "wanted": "5.5.0",
    "latest": "6.1.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/chalk/node_modules/supports-color"
  },
  "color-convert": {
    "current": "1.9.3",
    "wanted": "1.9.3",
    "latest": "2.0.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert"
  },
  "qs": {
    "current": "6.5.2",
    "wanted": "6.5.2",
    "latest": "6.6.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/qs"
  },
  "tough-cookie": {
    "current": "2.4.3",
    "wanted": "2.4.3",
    "latest": "3.0.1",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/tough-cookie"
  },
  "jsprim": {
    "current": "1.4.1",
    "wanted": "1.4.1",
    "latest": "2.0.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/http-signature/node_modules/jsprim"
  },
  "jsbn": {
    "current": "0.1.1",
    "wanted": "0.1.1",
    "latest": "1.1.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn"
  },
  "ecc-jsbn": {
    "current": "0.1.2",
    "wanted": "0.1.2",
    "latest": "0.2.0",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn"
  },
  "tweetnacl": {
    "current": "0.14.5",
    "wanted": "0.14.5",
    "latest": "1.0.1",
    "location": "/usr/local/lib/node_modules/alexa-fhem/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl"
  }
}
}


OK


Liegt es an ": (node:17630) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead."?

Kannst bwz. willst du das abfangen? Ich habe eine recht alte nodejs-Version, aber outdated scheint an sich ja zu funktionieren und Updates auszugeben.

Danke dir vorab und viele Grüße,
Tim

justme1968

ich hätte noch einen vorschlag:

wie wäre es in der meldungen zum sudoers eintrag fhem durch den tatsächlichen user zu ersetzen unter dem fhem gerade läuft?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968