Hoe Ruby on Rails installeren met rbenv op macOS

Introductie

Ruby on Rails is een populaire toepassingsstack voor ontwikkelaars die websites en web-apps willen maken. De Ruby-programmeertaal, gecombineerd met het Rails-ontwikkelingsframework, maakt app-ontwikkeling snel en efficiënt.

Één manier om Ruby en Rails te installeren, is met de command-line tool rbenv. Het gebruik van rbenv biedt u een goed gecontroleerde en robuuste omgeving voor het ontwikkelen van uw Ruby on Rails-toepassingen, waardoor u eenvoudig kunt overschakelen naar de benodigde Ruby-versie tijdens uw werk.

rbenv biedt ondersteuning voor het specificeren van toepassingsspecifieke versies van Ruby, stelt u in staat de wereldwijde Ruby voor elke gebruiker te wijzigen en stelt u in staat een omgevingsvariabele te gebruiken om de Ruby-versie te overschrijven.

In deze tutorial zult u rbenv gebruiken om Ruby on Rails te installeren en in te stellen op uw lokale macOS-machine.

Vereisten

Om deze tutorial te volgen, heeft u nodig:

Stap 1 – rbenv installeren

In deze stap installeert u rbenv en zorgt u ervoor dat het automatisch wordt gestart bij het opstarten. Om dit op macOS te doen, zal deze handleiding de pakketbeheerder Homebrew gebruiken.

Om het pakket rbenv te downloaden met Homebrew, voert u het volgende commando uit:

  1. brew install rbenv

Dit zal rbenv en de [ruby-build] (https://github.com/rbenv/ruby-build) plugin installeren. Deze plugin voegt het rbenv install commando toe, waarmee het installatieproces voor nieuwe versies van Ruby wordt gestroomlijnd. Dit kan enkele andere afhankelijkheden installeren en wat tijd in beslag nemen.

Volgende voegt u de opdracht eval "$(rbenv init -)" toe aan uw ~/.bash_profile bestand om rbenv automatisch te laden wanneer u de Terminal opent. Om dit te doen, opent u uw .bash_profile in nano of uw favoriete teksteditor:

  1. nano .bash_profile

Voeg de volgende regel toe aan het bestand:

~/.bash_profile
eval "$(rbenv init -)"

Sla het bestand op en sluit af.

Vervolgens past u de wijzigingen die u hebt aangebracht in uw ~/.bash_profile bestand toe op uw huidige shellsessie:

  1. source ~/.bash_profile

Om te controleren of rbenv correct is ingesteld, gebruikt u het type commando, dat meer informatie over het rbenv commando zal weergeven:

  1. type rbenv

Uw terminalvenster geeft het volgende weer:

Output
rbenv is a function rbenv () { local command; command="${1:-}"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac }

Op dit punt heeft u zowel rbenv als ruby-build geïnstalleerd op uw machine. Dit stelt u in staat om Ruby vanaf de opdrachtregel te installeren in de volgende stap.

Stap 2 — Ruby Installeren

Met de nu geïnstalleerde ruby-build plug-in kunt u elke versie van Ruby die u nodig heeft installeren via één commando. In deze stap kiest u een versie van Ruby, installeert u deze op uw machine en controleert u vervolgens de installatie.

Gebruik eerst de -l vlag om de beschikbare versies van Ruby weer te geven. Let op dat niet-vermelde, recente kleinere versies ook beschikbaar kunnen zijn. Als bijvoorbeeld de uitvoer van dit commando Ruby 3.0.5 vermeldt, kunt u waarschijnlijk ook 3.0.4 installeren.

  1. rbenv install -l
Output
2.6.10 2.7.6 3.0.4 3.1.2 jruby-9.3.6.0 mruby-3.1.0 picoruby-3.0.0 rbx-5.0 truffleruby-22.1.0 truffleruby+graalvm-22.1.0

De uitvoer van die opdracht zal een lange lijst van versies zijn waaruit je kunt kiezen om te installeren.

Voor deze tutorial zullen we Ruby 3.1.2 installeren:

  1. rbenv install 3.1.2

Het installeren van Ruby kan een langdurig proces zijn, dus wees voorbereid op een installatie die enige tijd in beslag neemt.

Zodra het installeren is voltooid, stel het in als je standaardversie van Ruby met de global sub-opdracht:

  1. rbenv global 3.1.2

Controleer of Ruby correct is geïnstalleerd door het versienummer te controleren:

  1. ruby -v

Je uitvoer zal er ongeveer zo uitzien:

Output
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]

Om een ​​andere versie van Ruby te installeren en te gebruiken, voer je de rbenv commando’s uit met een ander versienummer, zoals rbenv install 2.7.6 en rbenv global 2.7.6.

Je hebt nu één versie van Ruby geïnstalleerd en je standaard Ruby-versie ingesteld. Vervolgens zul je jezelf instellen om te werken met Ruby-pakketten en bibliotheken, of gems, waarmee je dan Rails kunt installeren.

Stap 3 — Werken met Gems

Gems zijn pakketten van Ruby-bibliotheken en programma’s die door het Ruby-ecosysteem kunnen worden verspreid. Je gebruikt het gem commando om deze gems te beheren. In deze stap configureer je het gem commando om je voor te bereiden op de installatie van Rails.

Wanneer je een edelsteen installeert, genereert het installatieproces lokale documentatie. Dit kan aanzienlijke tijd toevoegen aan het installatieproces van elke edelsteen, dus je kunt de generatie van lokale documentatie uitschakelen door een bestand genaamd ~/.gemrc te maken met een configuratie-instelling om deze functie uit te schakelen:

  1. echo "gem: --no-document" > ~/.gemrc

Met dat gedaan, gebruik de gem-opdracht om Bundler te installeren, een tool die de afhankelijkheden van edelstenen beheert voor projecten. Dit is nodig voor Rails om correct te werken:

  1. gem install bundler

Je ziet output zoals dit:

Output
Fetching: bundler-2.3.18.gem Successfully installed bundler-2.3.18 1 gem installed

Je kunt de gem env-opdracht gebruiken om meer te weten te komen over de omgeving en configuratie van edelstenen. Om de locatie van geïnstalleerde edelstenen te zien, gebruik het home-argument, zoals dit:

  1. gem env home

Je ziet output vergelijkbaar met dit:

/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0

Nu je je edelsteenworkflow hebt opgezet en verkend, ben je vrij om Rails te installeren.

Stap 4 — Rails installeren

Om Rails te installeren, gebruik de gem install-opdracht:

  1. gem install rails

De gem-opdracht installeert de opgegeven edelsteen, evenals elke afhankelijkheid. Rails is een complex webontwikkelingsframework en heeft veel afhankelijkheden, dus het proces zal enige tijd duren om te voltooien. Uiteindelijk zie je een bericht waarin staat dat Rails is geïnstalleerd, samen met zijn afhankelijkheden:

Output
... Successfully installed rails-7.0.3.1 35 gems installed

Opmerking: Als u een andere versie van Rails wilt installeren, kunt u de geldige versies van Rails vermelden door een zoekopdracht uit te voeren, die een lange lijst met mogelijke versies zal weergeven. U kunt vervolgens een specifieke versie installeren, zoals 4.2.7, met behulp van de -v vlag:

  1. gem search '^rails$' --all
  2. gem install rails -v 4.2.7

rbenv werkt door het maken van een directory van shims, of bibliotheken die oproepen onderscheppen en deze wijzigen of doorsturen. In dit geval verwijzen shims Ruby commando’s naar de bestanden die worden gebruikt door de huidige ingeschakelde Ruby-versie. Met behulp van de rehash sub-opdracht onderhoudt rbenv shims in die directory om elk Ruby-commando te matchen met elke geïnstalleerde versie van Ruby op uw server. Telkens wanneer u een nieuwe versie van Ruby of een gem installeert die commando’s levert, zoals Rails, moet u rehash gebruiken.

Voer de volgende opdracht uit om de directory met shims te herhashen:

  1. rbenv rehash

Controleer uw installatie van Rails door de versie ervan af te drukken met deze opdracht:

  1. rails -v

U ziet de versie van Rails die is geïnstalleerd:

Output
Rails 7.0.3.1

Met succes geïnstalleerde Rails kunt u beginnen met het testen van uw Ruby on Rails-installatie en het ontwikkelen van webtoepassingen. In de volgende stap leert u hoe u rbenv en Ruby kunt bijwerken en verwijderen.

Stap 5 – rbenv en Ruby bijwerken en verwijderen

Bij het onderhouden van projecten is het handig om te weten hoe je kunt updaten en verwijderen wanneer dat nodig is. In deze stap ga je rbenv upgraden en vervolgens Ruby en rbenv verwijderen van je machine.

Je kunt rbenv en ruby-build upgraden met behulp van Homebrew door de volgende opdracht uit te voeren:

  1. brew upgrade rbenv ruby-build

Als rbenv of ruby-build geüpdatet moeten worden, zal Homebrew dit automatisch voor je doen. Als je set-up al up-to-date is, krijg je een output vergelijkbaar met het volgende:

Output
Warning: rbenv 1.2.0 already installed Warning: ruby-build 20220713 already installed

Dit zorgt ervoor dat je de meest recente versie van rbenv gebruikt.

Wanneer je extra versies van Ruby downloadt, kan het zijn dat je meer versies hebt dan je zou willen in je ~/.rbenv/versions map. Met behulp van de uninstall subopdracht van de ruby-build plugin, kun je deze vorige versies verwijderen.

Bijvoorbeeld, voer het volgende uit om Ruby versie 2.1.3 te verwijderen:

  1. rbenv uninstall 2.1.3

Met het rbenv uninstall commando kun je oude versies van Ruby opruimen zodat je niet meer hebt geïnstalleerd dan dat je momenteel gebruikt.

Als je hebt besloten dat je rbenv niet meer wilt gebruiken, kun je het van je systeem verwijderen.

Om dit te doen, open eerst je ~/.bash_profile bestand in je editor:

  1. nano ~/.bash_profile

Zoek en verwijder de volgende regel uit het bestand om te voorkomen dat rbenv wordt gestart wanneer je Terminal opent:

~/.bash_profile
...
eval "$(rbenv init -)"

Zodra je deze regel hebt verwijderd, sla je het bestand op en sluit je de editor.

Voer de volgende opdracht uit om de wijzigingen toe te passen op je shell:

  1. source ~/.bash_profile

Verwijder vervolgens rbenv en alle geïnstalleerde Ruby versies met deze opdracht:

  1. rm -rf `rbenv root`

Eindelijk, verwijder het rbenv-pakket zelf met Homebrew:

  1. brew uninstall rbenv

Controleer de rbenv-versie om er zeker van te zijn dat het is verwijderd:

  1. rbenv -v

Je krijgt de volgende uitvoer:

Output
-bash: /usr/local/bin/rbenv: No such file or directory

Dit betekent dat je rbenv succesvol hebt verwijderd van je machine.

Conclusie

In deze handleiding heb je Ruby on Rails geïnstalleerd met rbenv op macOS. Vanaf hier kun je meer leren over coderen in Ruby met onze How To Code in Ruby-serie. Je kunt ook ontdekken hoe je Ruby on Rails kunt gebruiken met PostgreSQL in plaats van de standaard sqlite3-database, wat meer schaalbaarheid, centralisatie en stabiliteit biedt voor je toepassingen.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos