3 poin oleh GN⁺ 2024-12-09 | 1 komentar | Bagikan ke WhatsApp

Apa itu mise?

  • mise adalah alat untuk mengelola berbagai alat pengembangan seperti node, python, cmake, dan terraform, mirip dengan asdf, nvm, dan pyenv
  • Mengelola variabel lingkungan per direktori proyek, mirip dengan direnv
  • Mengelola tugas yang digunakan untuk build dan pengujian proyek, mirip dengan make

Demo 30 detik

  • Menunjukkan cara memasang berbagai versi node menggunakan mise
  • Saat menjalankan perintah which node, jalur sebenarnya akan dikembalikan, dan itu bukan shim

Mulai cepat

  • Cara memasang mise:
    • $ curl https://mise.run | sh
    • Versi yang terpasang bisa diperiksa dengan perintah $ ~/.local/bin/mise --version
  • Memasang versi tertentu:
    • $ curl https://mise.run | MISE_VERSION=v2024.5.16 sh
    • Versi yang terpasang bisa diperiksa dengan perintah $ ~/.local/bin/mise --version
  • Menghubungkan mise ke shell:
    • bash: echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
    • zsh: echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
    • fish: echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
  • Memasang runtime dan menetapkan nilai bawaan global:
    • $ mise use --global node@20
    • Versi dapat diperiksa dengan perintah $ node -v

Dokumentasi lengkap

  • Dokumentasi lengkap tersedia di mise.jdx.dev

1 komentar

 
GN⁺ 2024-12-09
Komentar Hacker News
  • Saat mulai menggunakan mise, saya puas karena alat ini menutupi kekurangan asdf sambil menyediakan konfigurasi shell yang cepat dan tidak terlalu invasif

    • Setelah fitur Task Running dan Env Vars ditambahkan, alat ini menjadi makin berguna
    • Saya terkesan karena pengembangnya menghabiskan banyak waktu untuk membangun fitur masa depan sambil tetap menjaga kompatibilitas dengan alat yang sudah ada
    • Belakangan ini, fitur backend membuat pemasangan alat pengembangan yang dibutuhkan jadi mudah dan praktis
  • Saya beralih ke Mise untuk mengelola JS, Ruby, Python, dan Java SDK, dan saya puas

    • Rasanya menyegarkan karena tidak perlu memasang RVM, NVM, alat pemasang Python, dan sebagainya
  • Kami menggunakan mise untuk menyatukan toolchain tim, dan tidak memakai Docker atau Nix

    • Docker masih dipakai untuk menjalankan layanan, tetapi pengalaman pengguna mise sangat baik
    • Semua skrip repositori mendapat fitur pelengkapan otomatis, jadi lebih praktis
  • Jika mencoba melakukan semuanya, besar kemungkinan tidak ada satu pun yang benar-benar dilakukan dengan baik

    • Kebanyakan orang tidak benar-benar memahami secara mendalam masalah packaging dalam satu ekosistem
    • Pengembang perlu mengetahui banyak hal, tetapi pada akhirnya ini hanya membungkus alat yang sudah ada
  • Karena saya bukan pengembang, saya tidak memahami use case alat seperti ini

    • Saya memakai asdf untuk mengelola semua versi program dalam monorepo, dan meskipun UX-nya kurang bagus, alat ini andal
    • Saya tidak memuat environment variable ke sesi shell saat ini, melainkan menggunakan skrip atau Makefile untuk memuat variabel yang diperlukan dan menjalankan tugas
    • Saya memakai Make untuk menjalankan perintah-perintah kecil yang bisa diulang per direktori, atau untuk menjalankan perintah secara paralel maupun berurutan
    • Saya memakai shell script untuk membuat alat yang sedikit lebih panjang atau lebih kompleks daripada target Make
    • Seluruh environment bisa dikelola cukup dengan memasang asdf, dan semuanya otomatis serta versinya dikunci
  • Saya memakai mise untuk mengelola versi Go, dan sejauh ini cukup baik meskipun agak membingungkan dan dokumentasinya kurang

    • Saya belum pernah memakai asdf atau alat serupa, jadi mungkin memang ada learning curve
  • Saya puas menggunakan mise sebagai pengganti asdf

    • Fungsinya sama, tetapi lebih cepat dan UX-nya lebih baik
  • Setelah dipakai lebih dari setahun, ini adalah alat sederhana yang membuat hidup jadi lebih mudah

    • Terima kasih kepada pembuat dan para kontributornya
  • Saya sedang memikirkan cara mengintegrasikan mise ke workflow GitHub Actions

    • Dari file workflow di repositori mise, tampaknya cukup dengan menambahkan beberapa langkah mise
    • Akan lebih baik jika bisa menghasilkan file workflow
  • Setelah membaca Readme proyek ini, saya masih bertanya-tanya, "Kenapa?"

    • Saya menggunakan Devbox untuk mengakses seluruh ekosistem Nix