Saya menggunakan Homebrew Cask untuk menginstal aplikasi pada OS X. Bagaimana cara meningkatkan semua tong yang diinstal?
macos
homebrew
homebrew-cask
enrico.bacis
sumber
sumber
~/Library/Application Support/Brackets/extensions/user
, dan ini harus bertahan di seluruh peningkatan. Plugin sistem memang disimpan di dalam bundel aplikasiBrackets.app/extensions/default
, dan ini hilang ketika Anda mengganti bundel aplikasi, tetapi cara termudah adalah dengan menyalin plugin dari bundel lama ke yang baru.brew cask upgrade
digabung 15 komitmen ke Homebrew: masterbrew cask uninstall my-cool-cask
kemudianbrew cask install my-cool-cask
.Jawaban:
Sekarang akhirnya ada mekanisme pemutakhiran resmi untuk Homebrew Cask (lihat Edisi 3396 untuk implementasinya)! Untuk menggunakannya, cukup jalankan perintah ini:
brew cask upgrade
Namun ini tidak akan memperbarui tong yang tidak memiliki informasi versi (
version :latest
) atau aplikasi yang memiliki mekanisme pemutakhiran bawaan (auto_updates true
). Untuk menginstal ulang tong-tong ini (dan akibatnya memutakhirkannya jika pemutakhiran tersedia), jalankan perintah pemutakhiran dengan--greedy
bendera seperti ini:brew cask upgrade --greedy
sumber
brew cask outdated | xargs brew cask reinstall
untuk hanya menginstal ulang tong yang sudah kedaluwarsa.brew cask outdated
hanya mencetak nama aplikasi yang tidak mengaktifkan "pembaruan otomatis". Untuk memutakhirkan SEMUA aplikasi yang kedaluwarsa, gunakanbrew cask outdated --greedy --verbose | grep -v '(latest)' | awk '{print $1}' | xargs brew cask reinstall
upgrade homebrew-tong
Saya pikir ini adalah solusi terbaik untuk meningkatkan tong.
sumber: https://github.com/buo/homebrew-cask-upgrade
Instalasi & penggunaan
(Opsional) Memaksa upgrade aplikasi yang sudah usang termasuk yang ditandai sebagai terbaru:
sumber
Dimungkinkan untuk membuat daftar tong yang terpasang dengan:
Dan paksa instalasi ulang tong dengan:
Jadi, piping output dari perintah pertama ke perintah kedua, kami memperbarui semua tong:
sumber
Skrip Bash untuk memutakhirkan paket
terinspirasi oleh jawaban Pascal
Apa yang dilakukannya
brew cask info
untuk versi terbarusumber: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
satu liner untuk tidak sabar:
simpan sebagai
/usr/local/bin/cask-upgrade
, sehingga Anda dapat menjalankannya secara lokal seperticask-upgrade
nantisumber
brew cask info $cask | grep "Not installed"
?$ brew cask info $cask | grep "Not installed"
memberikan kesalahanError: This command requires a Cask token
for cask in ${casks[@]}; do
smacks head
jelas! tidak percaya aku tidak menangkap itu.Per Desember 2017 digunakan: brew cask upgrade
[TERDEPAN sejak Desember 2017 ketika Homebrew memperkenalkan perintah peningkatan untuk tong] Saya cukup menggunakan yang berikut ini:
sumber
awk '{print $1}'
di antara keduanya.Ini adalah fungsi yang saya tulis untuk menangani ini. Perhatikan bahwa saya secara pribadi tidak ingin menginstal ulang semuanya secara membabi buta karena beberapa tong yang saya gunakan memerlukan waktu beberapa saat untuk menginstal atau memerlukan konfirmasi tambahan.
sumber
Berdasarkan jawaban @Atais, saya telah meningkatkan logikanya menjadi sesuatu yang lebih baik. Saya ingin cara memeriksa paket untuk ditingkatkan terlebih dahulu, sebelum benar-benar memaksa upgrade.
$ brew-cask.sh
hanya daftar output yang mirip dengan Homebrewbrew update
.✔
menunjukkan setiap pembaruan yang tertunda.$ brew-cask.sh upgrade
akan memaksa pembaruan paket-paket itu.Kode:
cukup instal (alias "Aku butuh sekarang!")
Sudah diperiksa di repo saya
.dotfiles
; jadi, Anda dapat menginstalnya dengan cepat ke~/bin
:Kemudian gunakan seperti ini:
Jika tidak ada
~/bin
di jalur Anda, awali~/bin/
pernyataan di atas.sumber
brew cask upgrade
The
upgrade
perintah baru-baru ini telah diperkenalkan di Homebrew Cask dan harus mencela semua metode manual yang lain dijelaskan dalam jawaban lainnya.sumber
Saya pikir menggunakan
akan melakukan trik. Ini juga akan membantu menghapus versi aplikasi sebelumnya dan akan menginstal versi yang lebih baru.
sumber
brew cask reinstall `brew cask outdated`
memperbaiki kode yang disediakan dari deinspanjer, saya mencoba untuk meniru perintah noop, seperti yang dari cokelat ( pembaruan choco --noop / choco ketinggalan zaman ).
https://git.io/vgjiL
Seperti yang dapat dilihat, saya menggunakan pendekatan modular karena use case saya sedikit berbeda. Saya tidak ingin duduk di depan komputer saya dan mengetik ya / tidak untuk setiap aplikasi yang saya instal. Meskipun tidak ada cara nyata untuk meningkatkan tong (hanya menginstal ulang versi terbaru), saya pertama kali membuat pembaruan untuk memiliki informasi bahwa sebenarnya ada pembaruan yang tersedia .
Selanjutnya, saya menggilir semua tong untuk menampilkan informasi mereka. Karena saya pernah membuat pembaruan sebelumnya, sekarang ada yang memberikan informasi bahwa beberapa versi terakhir tong belum diinstal.
Di dalam metode pembaruan saya, saya benar-benar mengurai perintah info untuk baris tertentu:
Yang diterjemahkan menjadi: "Berikan 3 baris di atas informasi yang diberikan setiap kali Anda membaca baris" tidak diinstal ". Kemudian hapus setiap baris yang memiliki tautan di dalamnya, juga hapus baris yang memiliki ':' di dalamnya."
Mengingat struktur perintah info pembuatan bir, kami berakhir dengan satu baris (tidak ada info versi, tidak ada URL aplikasi), yang mencerminkan nama sebenarnya tong itu yang juga diinstal.
hasil keluaran pembuatan tong
Dalam versi saya, info ini sekarang dicetak sehingga orang dapat dengan mudah melihat tong mana yang kedaluwarsa dan dapat diperbarui.
Pada titik ini saya melakukan switch case, karena mungkin saat ini tidak cukup waktu untuk memperbarui. Itu tergantung pada kasus penggunaan Anda. Bagi saya, saya kadang-kadang hanya ingin melihat apa yang baru (menunggu versi baru, perbaikan bug) tetapi sebenarnya tidak punya waktu untuk memperbarui hal-hal karena saat ini saya tidak ingin menutup browser saya dll.
Jadi, jika seseorang memilih "ya", daftar nama tong yang dibersihkan diberikan ke fungsi pembaruan di mana untuk setiap tong yang telah ditentukan kedaluwarsa menginstal ulang dikeluarkan.
Terima kasih sekali lagi kepada deinspanjer, ketika mencoba menyelesaikan masalah ini untuk diri saya sendiri, saya selalu lupa untuk mengeluarkan pembaruan pembuatan bir terlebih dahulu sehingga tidak ada "tidak dipasang" baris di sana untuk benar-benar mengurai (dasar dari seluruh pendekatan saya).
Saya harap ini membantu.
sumber
Saya membuat skrip seperti itu sendiri. Silakan lihat github https://github.com/pesh1983/brew_cask_upgrade . Ini memiliki deskripsi yang cukup bagus, tetapi jika Anda memiliki pertanyaan tambahan, jangan ragu untuk bertanya kepada saya. Itu tidak adil upgrade: uninstall dan instal, sehingga setiap pembersihan yang diperlukan akan dilakukan oleh 'buatan' itu sendiri.
sumber
sumber
tong yang kedaluwarsa:
tingkatkan tong:
skrip demo:
sumber
Periksa tong yang kedaluwarsa:
Memutakhirkan semua tong yang kedaluwarsa:
Jika Anda ingin meningkatkan tong tertentu, cukup tambahkan nama tong setelah pembaruan (mis: 4k-video-downloader):
sumber
Berdasarkan apa yang saya baca saya telah membuat skrip yang akan membuat file yang berisi daftar file yang akan diperbarui termasuk aplikasi yang didefinisikan sebagai terbaru. Anda kemudian dapat memodifikasi file agar sesuai dengan kebutuhan Anda dan menginstal pembaruan menggunakan skrip olinst saya.
Untuk informasi lebih lanjut, kunjungi github saya.
https://github.com/pacav69/caskroom-offline-install
sumber
Ini benar-benar membuat saya jengkel, jadi saya membuat skrip ini untuk memperbarui semua aplikasi Brew dan memungkinkan pengguna untuk memilih aplikasi Tong mana yang akan diperbarui. Anda dapat mengecualikan aplikasi dari pertimbangan juga.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
sumber
saya menggunakan
sumber