0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita全国学生対抗戦Advent Calendar 2024

Day 4

最新版プログラムを入手するスクリプト

Posted at

プログラムをアップデートする際に、わざわざブラウザを開きそのプログラム(ソフトウェア)の提供元やGitHubのWebページにアクセスしてダウンロード&インストールするのが面倒だと感じたことはありませんか?
今回はそんな方(Macユーザー限定)向けに、ターミナル上でプログラムアップデートを完了できるスクリプト、latest のご紹介です。

TLDR

上記のGitHubのページをご覧になって頂ければ、インストール方法や使用方法をご確認頂けます。

GitHubから New Release をダウンロードする場合

GitHub は GitHub API を提供しており、GitHubで公開されているプロジェクトの New Releases は API を利用してダウンロードURLを取得することができるので、このスクリプトはこれを利用しています。

repos.json の内容とその編集

repos.jsonを編集して自分が高頻度で利用するソフトウェアの登録ができます。↓例:

repos.json
{
  "direct": {
    "RemNote": "https://backend.remnote.com/desktop/mac"
  },
  "github": {
    "Kitapp": "johnlindquist/kitapp",
    "Manager": "Manager-io/Manager",
    "acreom": "Acreom/releases",
    "balenaEtcher": "balena-io/etcher"
  },
  "webpage": {
    "Mendeley": "https://www.mendeley.com/download-reference-manager/macOS"
  }
}

JSONの中身の説明:
githubセクションには登録名:プロジェクトURLの一部key:value登録ができます。  
directセクションではvalueに直接ダウンロード可能なURLを登録できます。
webpageセクションではvalueにダウンロードURLを含むWebページのURLを登録できます。このスクリプトはその指定されたWebページからソフトウェアのダウンロードURLを探してきます。githubでは確実にダウンロードURLを取得できる反面、webpageではWebサイトの仕様により上手く行かないことがあります。

注意点

~/Downloads/*.pkg, ~/Downloads/*.dmgは自動的にマウント・インストール・削除されますので、~/Downloadsに未処理のPkg, DMGファイルがある場合は対応が必要です。(あるいはスクリプトに手を加えて~/Downloadsディレクトリ以外のディレクトリをスクリプトが利用するように設定する必要があります)。

類似のプロジェクト

バイナリファイルのダウンロード・インストールができる eget というツールがあります。

スクリプトの改善について

スクリプトを利用して頂いた方の中でバグや改善点にお気付きの方は是非ご連絡下さい。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?