NEWS
✔ npm link bei der Adapter Entwicklung
-
Hallo zusammen,
hab gestern meinen Entwicklungsrechner (Win10) mit dem Win Installer geupdated:
- js-controller v1.5.x auf v2.1.0
- nodejs v8.x auf 10.17.0
Ich verende immer
npm link
um mein Projektverzeichnis einzubinden.
Problem ist jetzt aber, dass ich folgende Fehlermeldung bekomme:error instance system.adapter.linkeddevices.0 terminated with code 10 (CANNOT_FIND_ADAPTER_DIR)
Installiere ich den Adapter von github, funktioniert alles wie es soll.
Hab jetzt schon ewig nach ner Lösung gesucht, aber finde einfach den Fehler nicht. Daten im Projektverzeichnis sind 1:1 identisch wie auf gihtub.Hoffe Ihr könnt mir helfen.
-
@Scrounger Git es das Vezeichnis denn?
-
@apollon77
Ja klar, das Verzeichnis wird erstellt und hat dann entsprechend das link symbol.So bin ich vorgegangen:
npm link
inD:\Projekte\ioBroker\ioBroker.linkeddevices
ausgeführt- Unter
D:\iobroker\devBroker\env\npm\node_modules
wird dann der link angelegt - Dann
npm link iobroker.linkeddevices
inD:\iobroker\devBroker\env\npm\node_modules
ausgeführt
verlinktes Verzeichnis wurde in
D:\iobroker\devBroker\env\npm\node_modules
angelegt:
Lässt sich dann über Adapter korrekt installieren, allerdings bekomm ich dann die oben genannte Fehlermeldung.
Mit js-controller < 2 hat das funktioniert. Kann das evtl. ein Rechte Thema sein? -
Sodele durch die Hilfe @AlCalzone hab ich es lösen können.
Adapter Entwicklungsverzeichnis muss ein Unterverzeichnis von ioBroker sein, z.b:
- Adapter Verzeichnis:
D:\iobroker\devBroker\ioBroker.linkeddevices
, hier dannnpm link
ausführen - Im ioBorker Verzeichnis
D:\iobroker\devBroker
dannnpm link iobroker.linkeddevices
ausführen
Und schon geht die Verlinkung der Verzeichnisse.
Achtung: Nachteil ist das ein
npm install
im Adapter-Verzeichnis die node_modules von der Lib ausmistet. - Adapter Verzeichnis:
-
@Scrounger sagte in
npm link bei der Adapter Entwicklung:
Adapter Entwicklungsverzeichnis muss ein Unterverzeichnis von ioBroker sein
Genauer gesagt muss es auf erster Ebene ein Unterverzeichnis sein. Also dort, wo auch
node_modules
zu finden ist.@Scrounger sagte in
npm link bei der Adapter Entwicklung:
Achtung: Nachteil ist das ein npm install im Adapter-Verzeichnis die node_modules von der Lib ausmistet.
Das dürfte die meisten auch nicht betreffen. Ist nur dann ein Problem, wenn man gleichzeitig eine Library und einen dazugehörigen Adapter entwickelt, und die Library ebenfalls per
npm link
zum Adapter-Verzeichnis gelinkt ist.