NEWS
npm dependency im package.json
-
hallo
ich verwende in meinem Adapter 'crypto-js'.
var CryptoJS = require("crypto-js");
ist es dann richtig , wenn ich die dependency wie hier ins package.json integriere?
"dependencies": { "@iobroker/adapter-core": "^1.0.3", "crypto-js": "^3.1.9-1" },
-
genua so
-
dankeschön !!!
-
Sowas habe ich aktuell auch. Verstehe ich jedoch richtig, dass bei der Installation des Packages die Abhängigkeit nicht automatisch installiert wird? Dachte das wäre die Idee davon.
-
@Fogg wenn die Dependency eingetragen ist, sollte sie auch beim installieren des Adapter installiert werden.
-
Hallo Zusammen,
so einen Fall habe ich aktuell auch. Wie ist es, wenn man die dependency einträgt, obwohl der Adapter schon installiert ist - wann wird diese denn installiert?bei
iob upload Adapter
geschieht dies nicht.Wie geht man damit um, wenn ein Adapter erweitert wird und so eine dependency hinzukommt?
Wird es denn angestoßen, wenn via Github upgedated wird?Wie mache ich dies z.B. lokal, um es zu testen? Oder hilft hier dann nur ein
npm i Modul
im Adapter Verzeichnis?Danke Euch!
-
@skb
Prinzipiell sind solche Fragen besser in unserem/n Telegramm Channel(s) aufgehoben. Dort tummeln sich merh EntwicklerInvite Links findest du unter https://www.iobroker.dev
Zu deinen konkreten Fragen:
Die dependencies werden bei jeder Installation und bei jedem Update installiert. Zum lokalen Testen genügt 'npm i blabla@1234' im Arbeitsverzeichnis. npm i trägt die dependency dann auch gleich in package.json ein und aktualisisert package-lock.json.Alles was in package.json steht wird von npm bearbeite / beachtet. npm upload betrifft nur iobroker / admin.
Und nur damit das auch klar ist - die Dateien der laufenden ioBroker Installation sollten nicht editiert / verändert werden. Immer nur im Arbeitsverzeichnis (guthub clione) was ändern.
-
@mcm1957 Super. Danke. Also muss ich lokal zwingend
npm i sharp
im Adapter Verzeichnis ausführen?Bei einer Installation von GitHub läuft das beim User dann automatisch ab?
-
@skb said in npm dependency im package.json:
@mcm1957 Super. Danke. Also muss ich lokal zwingend
npm i sharp
im Adapter Verzeichnis ausführen?Bei einer Installation von GitHub läuft das beim User dann automatisch ab?
Also wenn du "sharp" neu verwenden willst, dann im Arbeitsverzeichnis 'npm i sharp' machen. Damit sollten package.json und package-lock.json verändert werden. Diese (wenn die Anpassungen fertig sind) in Github einchecken. Wenn alles richtig ist kommt package.json in das fertige Paket und bewirkt dass bei der Installation (incl. Update) das Paket beim User installiert wird.
-
@mcm1957 Arbeitsverzeichnis ist dann das Adapter Verzeichnis?
-
@skb said in npm dependency im package.json:
@mcm1957 Arbeitsverzeichnis ist dann das Adapter Verzeichnis?
Das Verzeichnis wo du das Repository hingecloned hast. Dort wird ja auch dein dev-server laufen.
Direkt in den Verzeichnissen eine ganzen ioBroker Installation (aloso unter /opt/iobroker/...) solltest du ja nicht arbeiten.Bitte wechsel für Fragen zur Entwicklungsumgebung / Struktur zu Telegram (Starters Channel würd ich empfehlen) bzw. discord
-
@mcm1957 ich arbeite mit einem symbolischen Link im Verzeichnis /opt/iobroker.
Also kann ich
npm i sharp
ausführen und dann werden die Dateien angepasst und gut?Dev Server nutze ich nicht.
-
@skb
Bei dem Setup kann ich nur sagen dass du npm i in jenem Verzeichnis ausführen musst wohin du das repository gecloned (ausgechecked, downgeloaded) hast und in dem das package.json liegt. -
@mcm1957 Prima, danke.
Ich denke, ich hatte den Fehler gemacht und es nur in die package.json eingetragen. Da bin ich dann davon ausgegangen, das es installiert wird
Falscher Weg - OK!Danke Dir!
-
@mcm1957 sagte in npm dependency im package.json:
Bitte wechsel für Fragen zur Entwicklungsumgebung / Struktur zu Telegram (Starters Channel würd ich empfehlen) bzw. discord
Wo findet man denn diese Telegram Kanäle?
-
mcm hat es in diesem Post geschrieben
https://forum.iobroker.net/topic/25161/npm-dependency-im-package-json/7?_=1719101151600Der erwähnte link führt zum dev Portal
Dort ist auch der link zu den telegram bzw. Discord channels erwähnt