Cela suppose que vous avez un environnement GO de travail avec une configuration GOPATH ENV VAR, et NodeJS et NPM sont installés:
sudo apt install nodejs-legacy npm snapcraft bzr
Installez les modules NPM globaux sans sudo:
cat > ~/.npmrc <<-EOF
root = $HOME/node/lib/node_modules
prefix = $HOME/node
binroot = $HOME/node/bin
manroot = $HOME/node/man
EOF
Configurer l'environnement:
mkdir ~/node
export PATH=$PATH:$HOME/node/bin:$GOPATH/bin
export NODE_PATH=$HOME/node/lib/node_modules
Bifurquer:
mkdir -p $GOPATH/src/github.com/snapcore
cd $GOPATH/src/github.com/snapcore
git clone [email protected]:snapcore/snapweb.git
cd snapweb
Installer:
# this script does a npm install using yarn and fixes some extra issues
# with dependencies
./scripts/npm-install.sh
./scripts/get-go-deps.sh
cd $GOPATH/src/github.com/snapcore/snapweb
# omit the architecture specified below ('amd64') to build for all architectures at once
./build.sh amd64
Une fois que vous avez été construit localement, vous pouvez le tester sur votre système en faisant:
snap install snapweb_<version>.snap --dangerous
L'indicateur - dangereux est nécessaire pour installer des snaps construits localement, qui n'ont pas été signés par le magasin.
Connectez-vous à l'interface Snapweb avec cette URL: [http: // localhost: 4200 /]
SnapWeb redirigera automatiquement vers HTTPS sur le port 4201, en utilisant un certificat auto-signé.
AVERTISSEMENT: Si vous testez Snapweb dans une machine virtuelle avec des ports redirigées, assurez-vous de vous connecter directement à la prise HTTPS, car la redirection HTTP ne fonctionnera pas.
Par exemple, démarrer une machine virtuelle avec:
kvm -m 768 -redir :8022::22 -redir :8201::4201 -hda snappy.img
Pointez le navigateur directement sur [https: // localhost: 8201]
Notez que dans tous les cas, vous aurez maintenant besoin d'un jeton d'accès pour utiliser SnapWeb. Selon l'endroit où vous avez installé le package SNAP (localement ou dans une machine virtuelle), exécutez la commande suivante (peut-être via SSH dans le cas d'une machine virtuelle):
sudo snapweb.generate-token
Copiez / collez ensuite le jeton dans l'interface utilisateur Web à la demande.
Pour installer un package:
curl -H "Content-Type: application/json" -d '{"package":"xkcd-webserver"}' http://localhost:4200/api/v2/packages/
Pour désinstaller un package:
curl -X DELETE http://localhost:4200/api/v2/packages/xkcd-webserver
Pour répertorier les packages:
curl http://localhost:4200/api/v2/packages/
Pour obtenir un package spécifique:
curl http://localhost:4200/api/v2/packages/xkcd-webserver
Pour générer des dépendances.tsv, vous avez besoin godeps
, donc
go get launchpad.net/godeps
Pour obtenir les dépendances correctes pour le projet, exécutez:
godeps -t -u dependencies.tsv
Si les dépendances doivent être mise à jour
godeps -t ./... > dependencies.tsv