Das hier ist der Thread für die Fregata Mail & IM API, welche von der Doku des homeean-Skripts aus verlinkt wird. Hier können alle Fragen rund um die Nutzung der API gestellt und Anwendungsbeispiele geteilt werden.
Fregata stellt eine REST API zur Verfügung mit deren Hilfe EINFACH via Webhooks Mails via SMTP, Instant Messages (an Telegram & Wechat) und Messages an Slack verschickt werden können.
Dieser Thread ist Teil des homeean-Skripts für die einfache Installation von Tools & APIs auf einem neuinstallierten RaspBerry PI zur Nutzung mit dem homee oder anderen Gateways, welche Webhooks unterstützen.
.go/src/github.com/gorilla/mux/mux.go:122: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
.go/src/github.com/gorilla/mux/regexp.go:171: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
.go/src/github.com/gorilla/mux/regexp.go:281: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export GOPATH=/home/pi/.go
Weil es keine ausreichenden Berechtigungen gibt bzw. das File fehlerhaft angelegt ist (Du willst Go in die Sudoers legen?) kann der nachfolgende go get Befehl nicht funktionieren, oder?
Ich denke, dass ist mal wieder der Fehler. Ich dachte eigentlich (habs ja auch getestet), dass das Problem behoben ist. Scheinbar hat sich in meinen Test aber irgendwo ein Fehler eingeschlichen.
Kurze Fehlerbeschreibung bzw. mein Verständnis davon: In den env Variablen muss der GOPATH gesetzt werden. Das Problem ist der Aufruf des Bash Scripts mit sudo. Der GOPATH wird mit den üblichen Befehlen nicht richtig gesetzt. Daher die Anweisung
die dann auch für sudo den GOPATH korrekt setzen soll. Ich denke es ist keine gute Idee, die Installation komplett als root auszuführen (vgl. Vorschlag zur Harmony-API die ja inzwischen funktioniert). Daher hatte ich mir das zusammengebastelt. Es gibt im Netz auch diverese Hinweise den Pfad GOROOT zu setzen, allerdings wird a) davon abgeraten und b) hat es bei einem Test auch nicht funktioniert.
Wenn ich den Befehl noch richtig im Kopf habe, kann man sich mit go env bzw. dann sudo go env die Umgebungsvariablen anzeigen lassen.
Ich vermute, dass bei letzterem der GOPATH leer ist.
Ich hoffe meine Beschreibung des Problems ist halbwegs verständlich. Wenn du, @chrisLE oder sonst jemand eine Lösung hat, nehme ich die gerne. Mir selbst fehlen da leider ein paar weiterführende Linux Kenntnisse.
Das Script kann ich zum nachlesen heut Nachmittag auch mal hier reinsetzen.
.go/src/github.com/gorilla/mux/mux.go:122: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
.go/src/github.com/gorilla/mux/regexp.go:171: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
.go/src/github.com/gorilla/mux/regexp.go:281: req.URL.EscapedPath undefined (type *url.URL has no field or method EscapedPath)
Kann ich nicht von jemandem die fregatad herunterladen und in das .go/bin verzeichnis legen?
Ich habe die Ursache inzwischen eingrenzen können. Das setzen der sudo Umgebungsvariablen erfordert ein Ab- und wieder Anmelden. Dann klappt die Installation. Ich weiß, dass man die normalen env variablen durch den source Befehl neu laden kann. Weiß jemand, wie das für sudo möglich ist?