NEWS

Installation "request-promise" Modul schlägt fehl


  • Developer

    @paul53 In den Adapter-Optionen:
    https://github.com/ioBroker/ioBroker.javascript/pull/439

    Aber ich schätze, die Version ist noch nicht raus, da auch die Meldung über fehlende Module behoben sein müsste.



  • @AlCalzone sagte in Installation "request-promise" Modul schlägt fehl:

    @oetti Der Fehler "could not install from node_modules/..." deutet für mich darauf hin, dass die Pakete irgendwie per symlink oder wie auch immer auf den lokalen Pfad umgebogen wurden. Hast du irgendwas mit npm link gefummelt?

    Mit npm link hatte ich nicht rumgefummelt (kannte ich bis eben auch noch nicht).
    Was ich gesehen hatte war, dass während der Installation ein Symlink auf sich selbst im Ordner iobroker.javascript angelegt wurde. Den habe ich dann mit "rm" ins Nirvana befördert.



  • Ich muss meinen Thread nochmal wiederbeleben, da mir das besagte Modul weiterhin Problem bereitet.

    Aktuell ist es so, dass jede neue Installation eines Adapters fehlschlägt, da npm weiterhin versucht das "request-promise" Modul zu installieren.
    Deshalb die Frage, ob npm eine List vorhält, mit Modulen die noch installiert werden müssen. Aktuell mal das Debug-Log, als ich versucht habe, den nanoleaf-Adapter zu installieren:

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node',
    1 verbose cli   '/usr/bin/npm',
    1 verbose cli   'install',
    1 verbose cli   'https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/tarball/master',
    1 verbose cli   '--production',
    1 verbose cli   '--save',
    1 verbose cli   '--prefix',
    1 verbose cli   '/opt/iobroker' ]
    2 info using npm@6.4.1
    3 info using node@v8.12.0
    4 verbose npm-session bb22a4b3b2530406
    5 silly install loadCurrentTree
    6 silly install readLocalPackageData
    7 http fetch GET 200 https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/tarball/master 5406ms
    8 silly pacote remote manifest for undefined@https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/tarball/master fetched in 5438ms
    9 timing stage:loadCurrentTree Completed in 13499ms
    10 silly install loadIdealTree
    11 silly install cloneCurrentTreeToIdealTree
    12 timing stage:loadIdealTree:cloneCurrentTree Completed in 55ms
    13 silly install loadShrinkwrap
    14 timing stage:loadIdealTree:loadShrinkwrap Completed in 1955ms
    15 silly install loadAllDepsIntoIdealTree
    16 silly resolveWithNewModule iobroker.nanoleaf-lightpanels@0.8.2 checking installable status
    17 http fetch GET 200 https://registry.npmjs.org/osx-temperature-sensor 353ms
    18 silly pacote range manifest for osx-temperature-sensor@^1.0.4 fetched in 358ms
    19 silly resolveWithNewModule osx-temperature-sensor@1.0.4 checking installable status
    20 silly fetchPackageMetaData error for request-promise@file:node_modules/request-promise Could not install from "iobroker/node_modules/iobroker.javascript/node_modules/request-promi
    se" as it does not contain a package.json file.
    21 timing stage:rollbackFailedOptional Completed in 0ms
    
    

    An welcher Stelle kann ich ansetzen, ob diese "request-promise" loszuwerden?

    Danke
    oetti


  • Developer

    @oetti sagte in Installation "request-promise" Modul schlägt fehl:

    An welcher Stelle kann ich ansetzen, ob diese "request-promise" loszuwerden?

    mit npm ls request-promise im Ordner /opt/iobroker findest du einen Anhaltspunkt, wo das benötigt wird.



  • @AlCalzone sagte in Installation "request-promise" Modul schlägt fehl:

    npm ls request-promise

    OK, das sieht dann so aus.

     npm ls request-promise
    iobroker.inst@1.1.2 /opt/iobroker
    ├─┬ iobroker.javascript@4.1.12
    │ └── UNMET DEPENDENCY request-promise@file:node_modules/request-promise
    ├─┬ iobroker.sonos@1.7.7
    │ └─┬ sonos-discovery@1.1.3
    │   └── request-promise@1.0.2
    ├─┬ iobroker.telegram@1.4.3
    │ └─┬ node-telegram-bot-api@0.30.0
    │   └── request-promise@4.2.4
    └── UNMET DEPENDENCY request-promise@^4.2.5
    
    npm ERR! missing: request-promise@^4.2.5, required by iobroker.inst@1.1.2
    npm ERR! missing: request-promise@file:node_modules/request-promise, required by iobroker.javascript@4.1.12
    
    


  • @oetti sagte in Installation "request-promise" Modul schlägt fehl:

    iobroker.javascript

    Ich habe aus der package.json vom iobroker.javascript mal den Verweis für das Modul entfernt - damit ging es dann. Keine Ahnung, ob das der richtige Weg ist/war

     "dependencies": {
        "@iobroker/adapter-core": "^1.0.3",
        "@types/node": "^8.10.47",
        "@types/request": "^2.47.0",
        "coffee-compiler": "^0.3.2",
        "coffee-script": "^1.12.7",
        "noble": "^1.9.1",
        "node-schedule": "1.3.0",
        "request": "^2.88.0",
        "request-promise": "file:node_modules/request-promise",
        "request-promise-any": "^1.0.8",
        "request-promise-native": "^1.0.8",
        "semver": "^5.6.0",
        "suncalc2": "^1.8.1",
        "typescript": "^3.3.3333",
        "virtual-tsc": "^0.4.6",
        "vm2": "^3.6.10",
        "wake_on_lan": "^1.0.0"
      },
    
    

    Gruß
    oetti


  • Developer

    @oetti Das ist der richtige Weg, allerdings vermute ich stark, dass du das durch Ausführen irgendwelcher npm-Befehle dort selbst reingepackt hast 😉



  • @AlCalzone sagte in Installation "request-promise" Modul schlägt fehl:

    Ausführen irgendwelcher npm-Befehle dort selbst reingepackt hast

    Die Einträge werden bei der Installation von "Zusätzliche NPM-Module" erzeugt und bleiben offenbar erhalten, wenn man "Zusätzliche NPM-Module" in der Konfiguration wieder entfernt.


  • Developer

    @paul53 Mir geht es eher drum, dass der eine Eintrag auf einen lokalen Ordner verweist, in diesem Fall sogar auf den Ordner, in dem das fehlende Modul installiert werden würde.

    Das macht der JS-Adapter nicht ohne manuellen Pfusch.



  • @AlCalzone sagte in Installation "request-promise" Modul schlägt fehl:

    @paul53 Mir geht es eher drum, dass der eine Eintrag auf einen lokalen Ordner verweist, in diesem Fall sogar auf den Ordner, in dem das fehlende Modul installiert werden würde.

    Das macht der JS-Adapter nicht ohne manuellen Pfusch.

    Mmh, der ganze Spuk ging los, als ich das zusätzliche Modul im JS-Adapter hinzugefügt habe. Händisch habe ich die json nicht geändert.

    Ich zieh mal eine Kopie aus dem Backup hoch und teste das dann nochmal. Sind bei mir alles VMs, so dass das relativ schnell gehen sollte.

    Dann gebe ich nochmal Bescheid.

    Danke
    oetti


Log in to reply
 

Suggested Topics

  • 15
  • 5
  • 6
  • 3
  • 6
  • 5
  • 9
  • 4

1.9k
Online

32.1k
Users

38.7k
Topics

525.3k
Posts