dengan cepat adalah alat CLI untuk menginstal, mengelola, dan beralih antar rantai alat Swift, yang ditulis dalam Swift. dengan cepat itu sendiri dirancang agar sangat mudah dipasang dan dijalankan, dan antarmuka perintahnya dimaksudkan agar fleksibel sekaligus mudah digunakan. Pengalaman keseluruhan terinspirasi oleh dan dimaksudkan untuk mengingatkan kita pada Rust Toolchain Manager Rust.
Pemeliharaan dan pengelolaan proyek ini dipimpin oleh SSWG.
Untuk mengunduh dengan cepat dan menginstal Swift, jalankan perintah berikut di terminal Anda, lalu ikuti petunjuk di layar.
curl -L https://swiftlang.github.io/swiftly/swiftly-install.sh | bash
Alternatifnya, Anda dapat mengunduh biner Swift dan dapat menginstalnya sendiri:
swiftly init
$ swiftly install latest
Fetching the latest stable Swift release...
Installing Swift 5.8.1
Downloaded 488.5 MiB of 488.5 MiB
Extracting toolchain...
Swift 5.8.1 installed successfully!
$ swift --version
Swift version 5.8.1 (swift-5.8.1-RELEASE)
Target: x86_64-unknown-linux-gnu
$PATH
)Saat ini, Swift sedang dalam tahap awal pengembangan dan didukung di Linux dan MacOS. Untuk informasi lebih detail tentang fitur dan implementasi yang dimaksudkan dengan cepat, lihat dokumen desain.
$ swiftly install latest
Versi Swift tertentu dapat diberikan ke perintah install
.
$ swiftly install 5.6.1
Jika versi patch tidak ditentukan, dengan cepat akan mencari dan menginstal versi patch terbaru yang cocok dengan versi minor yang disediakan:
$ swiftly install 5.6
$ swiftly install main-snapshot-2022-01-28
Jika tanggalnya tidak ditentukan, dengan cepat akan mencari dan menginstal snapshot terbaru yang tersedia:
$ swiftly install main-snapshot
$ swiftly install 5.7-snapshot-2022-08-30
Jika tanggalnya tidak ditentukan, dengan cepat akan mencari dan menginstal snapshot terbaru yang terkait dengan cabang pengembangan yang disediakan:
$ swiftly install 5.7-snapshot
$ swiftly uninstall 5.6.3
Untuk menghapus instalasi semua rantai alat yang terkait dengan rilis minor tertentu, tinggalkan versi patch:
$ swiftly uninstall 5.6
$ swiftly uninstall main-snapshot-2022-08-30
$ swiftly uninstall 5.7-snapshot-2022-08-30
Untuk menghapus instalasi semua snapshot yang terkait dengan cabang tertentu (baik cabang utama atau cabang rilis), hilangkan tanggalnya:
$ swiftly uninstall main-snapshot
$ swiftly uninstall 5.7-snapshot
Perintah list
mencetak semua rantai alat yang dipasang dengan cepat:
$ swiftly list
“Menggunakan” rantai alat menetapkannya sebagai rantai alat yang aktif, artinya rantai alat tersebut akan ditemukan melalui $PATH dan dipanggil melalui perintah swift
yang dijalankan di shell. Toolchain harus diinstal sebelum Anda dapat menggunakannya.
Anda dapat memberikan pemilih versi yang sama seperti yang Anda gunakan dengan swiftly install
untuk menggunakan rantai alat, termasuk versi rilis yang tepat "major.minor.patch", dan snapshot.
$ swiftly use latest
$ swiftly use 5.3.1
$ swiftly use 5.3
$ swiftly use 5.3-snapshot
$ swiftly use 5.3-snapshot-2022-08-16
$ swiftly use main-snapshot
$ swiftly use main-snapshot-2024-06-18
Setelah Anda menggunakan rantai alat, perintah Anda di shell akan dijalankan dengan rantai alat tersebut:
$ swiftly use x.y.z
$ swift build # Build my package with toolchain version x.y.z
$ clang -c foo.c -o foo.o # Compile this C file using the clang compiler in toolchain version x.y.z
$ lldb # Open the debugger from toolchain version x.y.z
Jika Anda ingin menjalankan hanya satu perintah dengan rantai alat tertentu tanpa harus beralih kembali ke perintah yang Anda gunakan sebelumnya, Anda dapat menggunakan perintah swiftly run
dengan versinya. Perintah ini membangun paket Anda saat ini dengan rangkaian alat snapshot terbaru dari rilis saat ini:
$ swiftly run swift build +main-snapshot
Parameter dengan "+" menunjukkan bahwa ini adalah pemilih versi rantai alat yang akan digunakan dan mendukung seluruh pemilih yang ditunjukkan di atas dan dengan perintah swiftly install
. Rantai alat harus diinstal untuk menjalankan perintah dengan rantai alat tersebut.
Pembaruan menggantikan rantai alat tertentu dengan versi rantai alat yang lebih baru. Untuk rilis stabil, ini berarti memperbarui ke versi patch, minor, atau mayor yang lebih baru. Untuk snapshot, ini berarti memperbarui ke snapshot terbaru yang tersedia.
Jika tidak ada versi yang disediakan, pembaruan akan memperbarui rantai alat yang dipilih saat ini ke rilis patch terbaru jika rantai alat rilis atau snapshot terbaru yang tersedia jika berupa snapshot. Versi yang baru diinstal akan dipilih.
$ swiftly update
Untuk memperbarui versi rilis terinstal terbaru ke versi rilis terbaru yang tersedia, versi “terbaru” dapat disediakan. Perhatikan bahwa ini mungkin memperbarui rantai alat ke versi minor atau bahkan mayor berikutnya.
swiftly update latest
Jika hanya versi utama yang ditentukan, toolchain terbaru yang diinstal dengan versi utama tersebut akan diperbarui ke rilis terbaru yang tersedia dari versi utama tersebut:
swiftly update 5
Jika versi mayor dan minor ditentukan, toolchain terinstal terbaru yang terkait dengan versi mayor/minor tersebut akan diperbarui ke rilis patch terbaru yang tersedia untuk versi mayor/minor tersebut.
swiftly update 5.3
Anda juga dapat menentukan versi lengkap untuk memperbarui rantai alat tersebut ke patch terbaru yang tersedia untuk versi mayor/minor tersebut:
swiftly update 5.3.1
Demikian pula, untuk memperbarui snapshot terbaru yang terkait dengan versi tertentu, versi “ab-snapshot” dapat disediakan:
swiftly update 5.3-snapshot
Anda juga dapat memperbarui snapshot utama yang terinstal terbaru ke snapshot terbaru yang tersedia hanya dengan menyediakan main-snapshot
:
swiftly update main-snapshot
Toolchain snapshot tertentu dapat diperbarui ke snapshot terbaru yang tersedia untuk cabang tersebut dengan menyertakan tanggal:
swiftly update 5.9-snapshot-2023-09-20
Perintah list-available
dapat digunakan untuk membuat daftar toolchain terbaru yang disediakan Apple untuk dipasang.
Perhatikan bahwa perintah ini belum diterapkan, namun akan disertakan dalam rilis mendatang.
swiftly list-available
Pemilih secara opsional dapat disediakan untuk mempersempit hasil:
$ swiftly list-available 5.6
$ swiftly list-available main-snapshot
$ swiftly list-available 5.7-snapshot
Perintah ini memeriksa untuk melihat apakah ada versi baru dari swiftly
itu sendiri dan memutakhirkannya jika ada.
Perhatikan bahwa perintah ini belum diterapkan, namun akan disertakan dalam rilis mendatang.
swiftly self-update
Nama kanonik untuk rantai alat snapshot di antarmuka perintah Swift adalah sebagai berikut:
<branch>-snapshot-YYYY-MM-DD
Namun, dengan cepat juga menerima nama file snapshot toolchain dari unduhan yang disediakan oleh swift.org. Misalnya:
swift-DEVELOPMENT-SNAPSHOT-2022-09-10-a
swift-5.7-DEVELOPMENT-SNAPSHOT-2022-08-30-a
Format nama kanonik dipilih untuk mengurangi penekanan tombol yang diperlukan untuk merujuk ke rantai alat snapshot, namun bentuk yang lebih panjang juga berguna saat menyalin/menempelkan nama rantai alat yang disediakan dari tempat lain.
Selamat datang di komunitas Swift!
Kontribusi pada Swiftly disambut dan didorong! Silakan lihat panduan Berkontribusi ke Swift dan lihat struktur komunitasnya.
Untuk menjadi komunitas yang benar-benar hebat, Swift perlu menyambut para pengembang dari semua lapisan masyarakat, dengan latar belakang berbeda, dan dengan beragam pengalaman. Komunitas yang beragam dan ramah akan memiliki lebih banyak ide hebat, perspektif lebih unik, dan menghasilkan lebih banyak kode hebat. Kami akan bekerja keras untuk membuat komunitas Swift ramah terhadap semua orang.
Untuk memberikan kejelasan tentang apa yang diharapkan dari anggota kami, Swift telah mengadopsi kode etik yang ditentukan oleh Perjanjian Kontributor. Dokumen ini digunakan di banyak komunitas open source, dan menurut kami dokumen ini mengartikulasikan nilai-nilai kami dengan baik. Untuk lebih lanjut, lihat Kode Etik.
apt
atau yum
)? Swift.org saat ini menyediakan paket eksperimental .rpm
dan .deb
yang memungkinkan Anda menginstal Swift melalui manajer paket Anda. Meskipun cara ini efektif untuk menginstal dan memperbarui satu versi Swift, cara ini tidak cocok untuk menginstal beberapa rangkaian alat Swift yang dapat Anda alihkan dengan mudah. Target audiens Swift adalah pengembang Swift yang beralih antar versi untuk tujuan menguji perpustakaan dan aplikasi mereka. .deb
dan .rpm
juga saat ini tidak menyediakan dukungan untuk rantai alat snapshot.
swiftenv adalah pengelola versi Swift yang sudah memiliki banyak fungsi yang pada akhirnya akan dimiliki oleh quick. Ini adalah alat yang luar biasa, dan jika itu adalah bagian dari alur kerja Anda, kami mendorong Anda untuk terus menggunakannya! Meskipun demikian, dengan cepat ada/akan berbeda dalam beberapa cara:
dengan cepat sedang dibangun sebagai upaya berbasis komunitas yang dipimpin oleh kelompok kerja server Swift, dan melalui kolaborasi ini, dengan cepat pada akhirnya akan menjadi alat instalasi resmi untuk rantai alat Swift. Sebagai langkah pertama menuju hal itu, dengan cepat akan membantu menginformasikan pembuatan titik akhir API yang dikelola oleh proyek Swift yang akan digunakan untuk mengambil informasi tentang rantai alat apa yang tersedia untuk dipasang dan untuk memverifikasi tanda tangan yang diharapkan. swiftenv saat ini menggunakan lapisan API pihak ketiga untuk ini. Menggunakan API resmi mengurangi kemungkinan kerentanan keamanan dan juga mengurangi risiko waktu henti yang memengaruhi instalasi Swift.
dengan cepat akan ditulis dalam Swift, yang menurut kami penting untuk pemeliharaan dan mendorong kontribusi komunitas.
dengan cepat memiliki dukungan kelas satu untuk menginstal dan mengelola rantai alat snapshot.
dengan cepat telah membangun dukungan untuk memperbarui rantai alat.
dengan cepat dioptimalkan untuk kemudahan instalasi--dapat dilakukan dengan bash one-liner yang mirip dengan Homebrew dan Rustup. Selain itu, dengan cepat tidak memerlukan dependensi sistem apa pun untuk diinstal pada sistem pengguna. Meskipun swiftenv juga relatif mudah untuk diinstal, ini melibatkan kloning repositori git atau menggunakan Homebrew, dan memerlukan beberapa dependensi sistem (misalnya bash, curl, tar).