日本語 | Русский | 中文 | 한국어 | Español | English
La commande gup met à jour les binaires installés par "go install" vers la dernière version. gup met à jour tous les binaires en parallèle, donc très rapidement. Elle fournit également des sous-commandes pour manipuler les binaires sous $GOPATH/bin ($GOBIN). C'est un logiciel multiplateforme qui fonctionne sur Windows, Mac et Linux.
Si vous utilisez oh-my-zsh, alors gup a un alias configuré. L'alias est gup - git pull --rebase. Par conséquent, assurez-vous que l'alias oh-my-zsh est désactivé (par exemple $ \gup update).
- Le format de configuration est passé de
gup.confàgup.json. gup importne lit plusgup.conf.- Le canal de mise à jour par package (
latest/main/master) est stocké dansgup.json.
- Linux
- Mac
- Windows
gup est aussi disponible via winget, mise et nix, en plus de go install et Homebrew.
Si vous n'avez pas l'environnement de développement golang installé sur votre système, veuillez installer golang depuis le site officiel golang.
go install github.com/nao1215/gup@latest
brew install nao1215/gupwinget install --id nao1215.gupmise use -g gup@latestnix profile install nixpkgs#gogupLa page de release contient des packages aux formats .deb, .rpm et .apk. La commande gup utilise la commande go en interne, donc l'installation de golang est requise.
Si vous voulez mettre à jour tous les binaires, exécutez simplement $ gup update.
$ gup update
update binary under $GOPATH/bin or $GOBIN
[ 1/30] github.com/cheat/cheat/cmd/cheat (Already up-to-date: v0.0.0-20211009161301-12ffa4cb5c87 / go1.22.4)
[ 2/30] fyne.io/fyne/v2/cmd/fyne_demo (Already up-to-date: v2.1.3 / go1.22.4)
[ 3/30] github.com/nao1215/gal/cmd/gal (v1.0.0 to v1.2.0 / go1.22.4)
[ 4/30] github.com/matsuyoshi30/germanium/cmd/germanium (Already up-to-date: v1.2.2 / go1.22.4)
[ 5/30] github.com/onsi/ginkgo/ginkgo (Already up-to-date: v1.16.5 / go1.22.4)
[ 6/30] github.com/git-chglog/git-chglog/cmd/git-chglog (Already up-to-date: v0.15.1 / go1.22.4)
:
:Si vous voulez mettre à jour seulement les binaires spécifiés, vous spécifiez plusieurs noms de commandes séparés par un espace.
$ gup update subaru gup ubume
update binary under $GOPATH/bin or $GOBIN
[1/3] github.com/nao1215/gup (v0.7.0 to v0.7.1, go1.20.1 to go1.22.4)
[2/3] github.com/nao1215/subaru (Already up-to-date: v1.0.2 / go1.22.4)
[3/3] github.com/nao1215/ubume/cmd/ubume (Already up-to-date: v1.4.1 / go1.22.4)Si vous ne voulez pas mettre à jour certains binaires, spécifiez simplement les binaires qui ne doivent pas être mis à jour en les séparant par ',' sans espaces comme délimiteur. Fonctionne aussi en combinaison avec --dry-run
$ gup update --exclude=gopls,golangci-lint //--exclude or -e, cet exemple exclura 'gopls' et 'golangci-lint'Si vous voulez contrôler la source de mise à jour par binaire, utilisez les options suivantes :
--main(-m) : met à jour avec@main(repli sur@masteren cas d'échec)--master: met à jour avec@master--latest: met à jour avec@latest
Le canal sélectionné est enregistré dans gup.json et réutilisé lors des prochaines exécutions de gup update.
$ gup update --main=gup,lazygit --master=sqly --latest=airLa sous-commande list affiche les informations de commande sous $GOPATH/bin ou $GOBIN. Les informations affichées sont le nom de la commande, le chemin du package et la version de la commande.

Si vous voulez supprimer une commande sous $GOPATH/bin ou $GOBIN, utilisez la sous-commande remove. La sous-commande remove demande si vous voulez la supprimer avant de la supprimer.
$ gup remove subaru gal ubume
gup:CHECK: remove /home/nao/.go/bin/subaru? [Y/n] Y
removed /home/nao/.go/bin/subaru
gup:CHECK: remove /home/nao/.go/bin/gal? [Y/n] n
cancel removal /home/nao/.go/bin/gal
gup:CHECK: remove /home/nao/.go/bin/ubume? [Y/n] Y
removed /home/nao/.go/bin/ubumeSi vous voulez forcer la suppression, utilisez l'option --force.
$ gup remove --force gal
removed /home/nao/.go/bin/galSi vous voulez savoir si le binaire est la dernière version, utilisez la sous-commande check. La sous-commande check vérifie si le binaire est la dernière version et affiche le nom du binaire qui doit être mis à jour.
$ gup check
check binary under $GOPATH/bin or $GOBIN
[ 1/33] github.com/cheat/cheat (Already up-to-date: v0.0.0-20211009161301-12ffa4cb5c87 / go1.22.4)
[ 2/33] fyne.io/fyne/v2 (current: v2.1.3, latest: v2.1.4 / current: go1.20.2, installed: go1.22.4)
:
[33/33] github.com/nao1215/ubume (Already up-to-date: v1.5.0 / go1.22.4)
If you want to update binaries, the following command.
$ gup update fyne_demo gup mimixboxComme les autres sous-commandes, vous pouvez seulement vérifier les binaires spécifiés.
$ gup check lazygit mimixbox
check binary under $GOPATH/bin or $GOBIN
[1/2] github.com/jesseduffield/lazygit (Already up-to-date: v0.32.2 / go1.22.4)
[2/2] github.com/nao1215/mimixbox (current: v0.32.1, latest: v0.33.2 / go1.22.4)
If you want to update binaries, the following command.
$ gup update mimixboxUtilisez export/import si vous voulez installer les mêmes binaires golang sur plusieurs systèmes.
gup.json stocke l'import path, la version du binaire et le canal de mise à jour (latest / main / master).
import installe exactement la version écrite dans le fichier.
{
"schema_version": 1,
"packages": [
{
"name": "gal",
"import_path": "github.com/nao1215/gal/cmd/gal",
"version": "v1.1.1",
"channel": "latest"
},
{
"name": "posixer",
"import_path": "github.com/nao1215/posixer",
"version": "v0.1.0",
"channel": "main"
}
]
}Par défaut :
gup exportécrit dans$XDG_CONFIG_HOME/gup/gup.jsongup importdétecte automatiquement le chemin du fichier dans cet ordre :$XDG_CONFIG_HOME/gup/gup.json(s'il existe)./gup.json(s'il existe)
Vous pouvez toujours forcer le chemin avec --file.
※ Environnement A (par exemple ubuntu)
$ gup export
Export /home/nao/.config/gup/gup.json
※ Environnement B (par exemple debian)
$ gup importAlternativement, export peut afficher le contenu de gup.json sur STDOUT avec --output. import peut lire un fichier spécifique avec --file.
※ Environnement A (par exemple ubuntu)
$ gup export --output > gup.json
※ Environnement B (par exemple debian)
$ gup import --file=gup.jsonLa sous-commande man génère les pages de manuel sous /usr/share/man/man1.
$ sudo gup man
Generate /usr/share/man/man1/gup-bug-report.1.gz
Generate /usr/share/man/man1/gup-check.1.gz
Generate /usr/share/man/man1/gup-completion.1.gz
Generate /usr/share/man/man1/gup-export.1.gz
Generate /usr/share/man/man1/gup-import.1.gz
Generate /usr/share/man/man1/gup-list.1.gz
Generate /usr/share/man/man1/gup-man.1.gz
Generate /usr/share/man/man1/gup-remove.1.gz
Generate /usr/share/man/man1/gup-update.1.gz
Generate /usr/share/man/man1/gup-version.1.gz
Generate /usr/share/man/man1/gup.1.gzcompletion affiche les scripts d'autocomplétion sur STDOUT quand vous fournissez un nom de shell.
Pour installer les fichiers d'autocomplétion dans votre environnement utilisateur pour bash/fish/zsh, utilisez --install.
Pour PowerShell, redirigez la sortie vers un fichier .ps1 et chargez-le depuis votre profil.
$ gup completion bash > gup.bash
$ gup completion zsh > _gup
$ gup completion fish > gup.fish
$ gup completion powershell > gup.ps1
# Installer automatiquement les fichiers dans les chemins utilisateur par défaut
$ gup completion --installSi vous utilisez gup avec l'option --notify, la commande gup vous notifie sur votre bureau si la mise à jour a réussi ou échoué après la fin de la mise à jour.
$ gup update --notifyTout d'abord, merci de prendre le temps de contribuer ! ❤️ Voir CONTRIBUTING.md pour plus d'informations. Le workflow de développement, la checklist qualité et la gestion des outils sont documentés dans CONTRIBUTING.md. Les contributions ne sont pas seulement liées au développement. Par exemple, GitHub Star me motive à développer !
Si vous souhaitez envoyer des commentaires tels que "trouvé un bug" ou "demande de fonctionnalités supplémentaires" au développeur, veuillez utiliser l'un des contacts suivants.
Vous pouvez utiliser la sous-commande bug-report pour envoyer un rapport de bug.
$ gup bug-report
※ Open GitHub issue page by your default browser
Le projet gup est sous licence selon les termes de la Licence Apache 2.0.
Merci à ces personnes formidables (clé des emojis) :
CHIKAMATSU Naohiro 💻 |
KEINOS 💻 |
mattn 💻 |
Justin Lecher 💻 |
Lincoln Nogueira 💻 |
Masaya Watanabe 💻 |
memreflect 💻 |
Akimo 💻 |
rkscv 💻 |
Ville Skyttä 💻 |
Zephyr Lykos 💻 |
iTrooz 💻 |
Tiago Peczenyj 💻 |
Ce projet suit la spécification all-contributors. Les contributions de toute sorte sont les bienvenues !


