>_

LMK

Tajemnica Skryptu NVM 🧐 Co Dzieje Się w .bashrc i Jak Okiełznać Go w Powłoce Fish 🐠

nvm bash zsh fish shell .bashrc .zshrc config fishshell

Asystent Głosowy 🎧

Tajemnica Skryptu NVM 🧐: Co Dzieje Się w .bashrc i Jak Okiełznać Go w Powłoce Fish! 🐠

Czy kiedykolwiek zainstalowałeś NVM (Node Version Manager), a potem po prostu... wszystko zaczęło działać? ✨ Magia! Wpisujesz nvm install 20, nvm use 18 i Twoja powłoka posłusznie żongluje wersjami Node.js. Ale co tak naprawdę się stało? Jakim cudem zwykła komenda curl | bash dała Twojemu terminalowi takie supermoce? 🦸‍♀️

Sekret tkwi w małym fragmencie kodu, który instalator NVM dyskretnie dodaje do plików konfiguracyjnych Twojej powłoki, takich jak ~/.bashrc lub ~/.zshrc.

Demistyfikacja Magicznego Skryptu w .bashrc i .zshrc 🌟

Jeśli otworzysz jeden z tych plików po instalacji NVM, znajdziesz tam coś podobnego do tego:

bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

Wygląda trochę tajemniczo, prawda? Rozbijmy to na części:

  1. export NVM_DIR=...: Ta linia ustawia zmienną środowiskową NVM_DIR, która wskazuje, gdzie NVM został zainstalowany (zazwyczaj w folderze .nvm w Twoim katalogu domowym).

  2. [ -s "$NVM_DIR/nvm.sh" ] && ...: To jest warunek. Sprawdza on, czy plik nvm.sh istnieje i nie jest pusty.

  3. \. "$NVM_DIR/nvm.sh": To jest serce całej operacji! 💖 Komenda . (znana też jako source) uruchamia skrypt nvm.sh w kontekście Twojej bieżącej sesji powłoki.

To kluczowe! NVM nie jest pojedynczym programem. To zbiór funkcji i aliasów powłoki. Kiedy "sourcujesz" plik nvm.sh, ładujesz te wszystkie funkcje (nvm, nvm_use, nvm_install itd.) do swojej aktywnej sesji, dając jej możliwość zarządzania wersjami Node.js.

Wyzwanie: Powłoka fish i jej Unikalny Świat 🐠

Jeśli jesteś fanem nowoczesnej, przyjaznej dla użytkownika powłoki fish, szybko zauważysz, że powyższy skrypt po prostu nie działa. Dlaczego?

  • fish nie używa ~/.bashrc ani ~/.zshrc. Jego plik konfiguracyjny to ~/.config/fish/config.fish.
  • fish ma inną, często bardziej czytelną składnię skryptową, która nie jest kompatybilna z bash.

Próba wklejenia powyższego kodu do config.fish zakończy się błędem. Ale bez obaw! Społeczność fish ma na to genialne rozwiązanie. 🌟

Rozwiązanie: Zaprzyjaźnij NVM z fish za pomocą Pluginu! 🤝

Najprostszym i najczystszym sposobem na uruchomienie NVM w fish jest użycie menedżera pluginów, takiego jak Fisher.

Oto instrukcja krok po kroku:

  1. Zainstaluj Fishera (jeśli jeszcze go nie masz):

    bash
    curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
    
  2. Zainstaluj plugin nvm.fish za pomocą Fishera:

    bash
    fisher install jorgebucaran/nvm.fish
    

I... to wszystko! 🎉 Ten plugin został stworzony, aby opakować NVM w sposób w pełni kompatybilny z fish. Automatycznie ładuje NVM, kiedy jest potrzebny, bez zaśmiecania Twojej konfiguracji.

Po wykonaniu tych dwóch komend i ponownym uruchomieniu terminala, Twoje polecenia nvm będą działać w fish dokładnie tak, jak oczekujesz. Możesz teraz cieszyć się elegancją fish i mocą NVM jednocześnie!

Dzięki temu rozwiązaniu 👇 możesz korzystać z tych samych poleceń NVM zarówno w bashu, jak i w fish – Twoje środowisko pracy pozostaje spójne i wygodne, niezależnie od wybranej powłoki! 👇👇👇

NVM w akcji – zarządzaj Node.js jak mistrz!

Podsumowanie ✨

Zrozumienie, jak działają Twoje narzędzia, to potężna umiejętność. Tajemniczy skrypt NVM to po prostu sposób na wstrzyknięcie jego funkcji do Twojej powłoki. Niezależnie od tego, czy jesteś weteranem bash, czy entuzjastą fish, istnieje prosta droga, by cieszyć się bezproblemowym zarządzaniem wersjami Node.js. Koduj z radością! 🚀