NEWS
error Invalid package name "iobroker/adapter-core":
-
Hallo!
Zur Zeit versuche ich mich an meinem ersten eigenen Adapter. In meiner Enwicklungs-Instanz (Windows 10 PC) läuft er problemlos. Aber: Sobald ich ihn in bei github hochlade und in meiner Test-Instanz (docker und synology) versuche zu installieren bekomme ich die Meldung:
error Invalid package name "iobroker/adapter-core": name can only contain URL-friendly characters
und natürlich läuft er dann auch nicht. Für die Test-Instanz habe ich gerade ein nagelneues Image gezogen, und auch alle persistente Daten gelöscht.
Referenzen auf den o.g. Namen gibt es (jedenfalls auf github hochgeladen) nur Folgende:
in main.js:
const utils = require("@iobroker/adapter-core"); // Get common adapter utils
in io-package.json:
"dependencies": { "@iobroker/adapter-core": "^2.4.0", "crc": "3.4.0" },
in package-lock.json:
"@iobroker/adapter-core": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-2.4.0.tgz", "integrity": "sha512-Qi2JRPKpOHtHonQlJX8UpK6OZg5mGXtMQC7k71BIkPDNoVI0QWp1vhqcuZ1Rjos1VQb/6oNIkvG2iivTh8slnQ==", "requires": { "@types/iobroker": "^3.0.6" }
und
in package.json:"dependencies": { "@iobroker/adapter-core": "^2.4.0", "crc": "3.4.0" },
Hat jemand einen Tipp für mich, ich komme leider nicht weiter :-(.
Danke!
Ach ja: die URL: https://github.com/christianh17/ioBroker.bydhvs
-
@tueftler17
Ich hab zwar keine Ahnung von Adapter-Entwicklung, ich meine aber das Trennzeichen ist ein Punkt, kein / zwischen iobroker und Adapternamen. -
@tueftler17 Bitte Code in Code Tags (</> oben in der Leiste) setzen.
-
@thomas-braun Das ist kein Adapter und es stimmt so. Wurde vom Adapter Creator erstellt.
-
@tueftler17 sagte in error Invalid package name "iobroker/adapter-core"::
in io-package.json:
"dependencies": { "@iobroker/adapter-core": "^2.4.0", "crc": "3.4.0" },
In der io-package.json stehen nur ioBroker Abhängigkeit (zB Admin, js-contoller und Web). In den meisten fällen kannst du das so lassen, wie der Adapter Creator das erstellt hat. Normale Nodejs Abhängigkeiten darfst du nur in der package.json eintragen.
-
@unclesam said in error Invalid package name "iobroker/adapter-core"::
@tueftler17 Bitte Code in Code Tags (</> oben in der Leiste) setzen.
Alles klar, erledigt. Ist besser so :-).
Aber um ehrlich zu sein: Ich habe noch nicht verstanden was ich ändern sollte. Soll ich die dependencies aus der io-package.json rausnehmen? Ich habe sie dort aber nicht wissentlich eingetragen, hat das nicht der adapter-creator erledigt? kopfkratz
-
@tueftler17 ja, raus nehmen.
Der Adapter Creator war's nicht. In deinem ersten commit ist es nämlich korrekt:
https://github.com/christianh17/ioBroker.bydhvs/commit/3ce19bf89a74195106d024ca6b009a19ede20f06#diff-6ef04a9e675def1145dff7cc57420b1ea8bb3f6f5a5e4502cc5da0281981b472Wenn npm tatsächlich die Abhängigkeiten in der io-package.json eintragen würde, wäre das hat nicht gut; kann ich mir aber nicht vorstellen.
Wenn du das irgendwie reproduzieren kannst, dann gib Bescheid, wie das geschehen konnte, dann müssen wir das anschauen.
-
@tueftler17 Dependencies am besten nie manuell ergänzen.
npm i blablabla
für normale dependencies und
npm i --dev blablabla
für
devDependencies
. Dann sind sie garantiert an der richtigen Stelle und es stimmt auch diepackage-lock.json
. -
@alcalzone und @UncleSam
DANKE!
Ich kann mich beim besten Willen nicht daran erinnern warum ich die dependencies manuell angepasst habe.
Leider habe ich die Fehlermeldung komplett falsch verstanden, ich dachte das dieser Adapter nicht installiert wäre (die Dateien waren vorhanden, ein "ioBroker list a" hat ihn aber nicht angezeigt) und schon habe ich mich völlig verrannt.
Große Klasse das Ihr so schnell geholfen habt!