3 puan yazan GN⁺ 2024-12-09 | 1 yorum | WhatsApp'ta paylaş

mise nedir?

  • mise, asdf, nvm ve pyenv'e benzer şekilde node, python, cmake, terraform gibi çeşitli geliştirme araçlarını yöneten bir araçtır
  • direnv'e benzer şekilde proje dizinine göre ortam değişkenlerini yönetir
  • make'e benzer şekilde proje derleme ve testlerinde kullanılan görevleri yönetir

30 saniyelik demo

  • mise kullanarak node'un farklı sürümlerinin nasıl kurulacağını gösterir
  • which node komutu çalıştırıldığında gerçek yol döner; bu bir shim değildir

Hızlı başlangıç

  • mise kurulum yöntemi:
    • $ curl https://mise.run | sh
    • Kurulan sürüm, $ ~/.local/bin/mise --version komutuyla doğrulanabilir
  • Belirli bir sürümü kurma:
    • $ curl https://mise.run | MISE_VERSION=v2024.5.16 sh
    • Kurulan sürüm, $ ~/.local/bin/mise --version komutuyla doğrulanabilir
  • mise'i kabuğa bağlama:
    • 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
  • Runtime kurma ve global varsayılanı ayarlama:
    • $ mise use --global node@20
    • Sürüm, $ node -v komutuyla doğrulanabilir

Tam belge seti

  • Tüm belgeler mise.jdx.dev adresinde görülebilir

1 yorum

 
GN⁺ 2024-12-09
Hacker News görüşleri
  • mise kullanmaya başladığımda, asdf’nin eksiklerini giderirken daha hızlı ve daha az müdahaleci bir kabuk yapılandırması sunduğu için memnun kalmıştım

    • Task Running ve Env Vars özelliklerinin eklenmesiyle daha da kullanışlı hale gelmiş
    • Geliştiricinin mevcut araçlarla uyumluluğu korurken gelecekteki özellikleri inşa etmeye çok zaman harcamış olması etkileyiciydi
    • Son dönemde arka uç özellikleri sayesinde ihtiyaç duyulan geliştirme araçlarını kolayca kurabilmek kullanışlı oldu
  • JS, Ruby, Python ve Java SDK yönetimi için Mise’e geçtim ve memnun kaldım

    • RVM, NVM, Python kurulum araçları gibi şeyleri ayrıca kurmak zorunda kalmamak taze bir deneyim gibi geldi
  • Ekibin araç zincirini birleştirmek için mise kullanıyoruz ve Docker ya da Nix kullanmıyoruz

    • Docker’ı hâlâ servis çalıştırmak için kullanıyoruz ama mise’in kullanıcı deneyimi çok iyi
    • Tüm depo script’lerine otomatik tamamlama eklenmiş olması çok kullanışlı
  • Her şeyi yapmaya çalışırsanız hiçbir şeyi gerçekten iyi yapamama ihtimaliniz yüksek

    • Çoğu insan tek bir ekosistemdeki paketleme sorunlarını bile derinlemesine anlamıyor
    • Geliştiricilerin pek çok şey bilmesi gerekiyor ama sonuçta bu, mevcut araçları sarmalamaktan ibaret
  • Geliştirici olmadığım için bu tür araçların kullanım senaryolarını anlamıyorum

    • Monorepo’daki tüm program sürümlerini yönetmek için asdf kullanıyorum; UX pek iyi değil ama güvenilir
    • Ortam değişkenlerini mevcut kabuk oturumuna yüklemek yerine, script ya da Makefile kullanarak gerekli değişkenleri yüklüyor ve işi çalıştırıyorum
    • Make kullanarak dizin bazında tekrarlanabilir küçük komutlar çalıştırıyor, komutları paralelleştiriyor ya da sırayla yürütüyorum
    • Make hedeflerinden biraz daha uzun veya karmaşık araçlar yazmak için kabuk script’leri kullanıyorum
    • Tüm ortam yalnızca asdf kurularak yönetilebiliyor; her şey otomatikleştirilmiş ve sürümler sabitlenmiş durumda
  • Go sürümlerini yönetmek için mise kullanıyorum; biraz kafa karıştırıcı ve dokümantasyonu yetersiz ama idare eder

    • Daha önce asdf ya da benzeri bir araç kullanmadıysanız bir öğrenme eğrisi olabilir
  • mise’i asdf yerine geçen bir araç olarak kullanıyorum ve memnunum

    • Aynı işlevleri sunuyor ama daha hızlı ve UX daha iyi
  • Bir yıldan uzun süredir kullanıyorum ve hayatı kolaylaştıran basit bir araç oldu

    • Yapımcısına ve katkıda bulunanlara teşekkürler
  • mise’i GitHub Actions workflow’larına nasıl entegre edeceğimi düşünüyorum

    • mise deposundaki workflow dosyalarına bakınca birkaç mise adımı eklenmiş gibi görünüyor
    • Workflow dosyası üretebilse daha da iyi olurdu
  • Projenin Readme’sini okuduktan sonra aklımda hâlâ "neden?" sorusu kaldı

    • Tüm Nix ekosistemine erişmek için Devbox kullanıyorum