Ruby gebruiken
ServBay biedt Ruby-ontwikkelaars een efficiënt en flexibel ontwikkelplatform op macOS. Dankzij het pakketbeheersysteem van ServBay kun je eenvoudig meerdere Ruby-versies parallel installeren en beheren. Met het krachtige .servbay.config
-bestand wijs je per project de gewenste Ruby-versie toe, wat je ontwikkelproces vereenvoudigt en consistentie van de omgeving waarborgt.
Overzicht
Introductie tot de Ruby-taal
Ruby is een dynamische, open-source, objectgeoriënteerde programmeertaal, bekend om zijn elegante en leesbare syntaxis en focus op ontwikkelaarsproductiviteit. De taal is in het midden van de jaren '90 ontwikkeld door de Japanse informaticus Yukihiro "Matz" Matsumoto, met als filosofie “programmeren leuker maken”. Ruby is beïnvloed door talen zoals Perl, Smalltalk, Eiffel, Ada en Lisp, en legt nadruk op eenvoudige, goed leesbare code.
In Ruby is alles een object. De taal ondersteunt verschillende programmeerstijlen, waaronder objectgeoriënteerd, procedureel en functioneel programmeren. De wereldwijde populariteit van Ruby is grotendeels te danken aan het Ruby on Rails webframework, uitgebracht in 2004 door David Heinemeier Hansson (DHH), waarmee webontwikkeling aanzienlijk werd versneld. Ruby wordt tegenwoordig breed toegepast voor webontwikkeling (Rails, Sinatra), scripting, automatisering, prototyping en meer. De Ruby-ecosysteem draait op RubyGems (de package manager) en Bundler (voor dependency management).
ServBay’s ondersteuning voor Ruby
ServBay beheert verschillende Ruby-interpreterversies als losse pakketten. Dit biedt je de volgende grote voordelen:
- Parallelle versies: Installeer meerdere Ruby-versies (zoals Ruby 2.7, 3.0, 3.3, 3.4, enz.) naast elkaar, zonder versieconflicten.
- Projectgebonden versiebeheer: Wijs per project exact de juiste Ruby-versie toe met het unieke
.servbay.config
-bestand van ServBay. - Eenvoudig beheer: Gebruik de grafische interface van ServBay om Ruby-versies overzichtelijk te bekijken, installeren en verwijderen.
- Geïntegreerd Gem-beheer: Na installatie van Ruby kun je direct RubyGems beheren met het
gem
-commando.
Dit is essentieel voor ontwikkelaars die oude projecten met verschillende Ruby-versies onderhouden, nieuwe projecten (zoals Ruby on Rails) ontwikkelen of specifieke Ruby-tools moeten gebruiken.
Toegang tot Ruby-pakketten
- Open de ServBay-applicatie.
- Klik in de navigatiebalk aan de linkerzijde op
Pakketten (Packages)
. - Scroll op de pagina
Pakketten
naar beneden of kies in de linker subsectieLanguages
->Ruby
. - Rechts wordt een lijst getoond met alle beschikbare Ruby-pakketten.
Ruby installeren
De pakkettenlijst geeft helder de status van elke Ruby-versie weer:
- Pakketnaam: De naam van het pakket, bijvoorbeeld
Ruby 3.3
. - Versie: Het specifieke versienummer van het pakket.
- Status: Geeft aan of de status
Geïnstalleerd
(Installed) ofNiet geïnstalleerd
(Not Installed) is. - Bediening: Operationele knoppen voor beheren.
Om een nog niet geïnstalleerde Ruby-versie te installeren (bijvoorbeeld Ruby 3.3
):
- Zoek in de lijst de gewenste versie op.
- Zorg dat de status
Niet geïnstalleerd
is. - Klik uiterst rechts op het Downloaden/Installeren-icoon (meestal een pijltje naar beneden).
- ServBay start met downloaden en installeren van de geselecteerde Ruby-versie. Dit kan enkele minuten duren.
- Na succesvolle installatie wijzigt de status naar
Geïnstalleerd
en wordt het icoon een Verwijderen-icoon (prullenbak).
Geïnstalleerde Ruby-versies beheren
- Overzicht geïnstalleerde versies: In de lijst kun je direct zien welke Ruby-versies momenteel geïnstalleerd zijn aan de status
Geïnstalleerd
. - Ruby verwijderen: Heb je een bepaalde Ruby-versie niet meer nodig, klik dan op het daarbij horende Verwijderen-icoon (prullenbak) en bevestig de actie om hem te verwijderen.
Geïnstalleerde Ruby gebruiken
Zodra Ruby via ServBay is geïnstalleerd, wordt deze toegevoegd aan de door ServBay beheerde omgevingsvariabelen. Wanneer je in de terminal de ServBay-omgeving activeert, kun je direct ruby
en gem
gebruiken.
Veelgebruikte commando’s:
De actieve Ruby-versie controleren: Open de terminal en voer uit:
bashruby -v
1Dit toont de standaard actieve Ruby-versie in je terminalsessie. De gekozen versie wordt bepaald door globale instellingen of per project via het
.servbay.config
-bestand.De versie van RubyGems controleren:
bashgem -v
1Een Gem-pakket installeren: Bijvoorbeeld, de populaire statische sitegenerator Jekyll installeren:
bashgem install jekyll
1Of het Ruby on Rails framework installeren:
bashgem install rails
1Een Ruby-script uitvoeren: Maak een bestand genaamd
hello.rb
aan met de volgende inhoud:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2Voer het uit in de terminal:
bashruby hello.rb
1
Projectgebonden versiebeheer: .servbay.config
Eén van de grootste pluspunten van ServBay is projectgebonden omgevingsconfiguratie. Door een .servbay.config
aan te maken in de hoofdmap van je project, kun je de benodigde Ruby-versie specifiek voor dat project vastleggen.
Voordelen:
- Taaloverkoepelend beheer: Beheer binnen één bestand de versies van Ruby, PHP, Node.js, Python, Go, Java, .NET en meer.
- Consistente omgeving: Waarborg dat teamleden en verschillende uitrolomgevingen exact dezelfde Ruby-versie gebruiken.
- Automatisch wisselen: Zodra je met
cd
naar een map met.servbay.config
gaat, herkent de ServBay-omgeving het bestand en past automatischRUBY_VERSION
toe.
Configuratievoorbeeld:
Maak in de hoofdmap van je Ruby-project een .servbay.config
aan, en voeg de variabele RUBY_VERSION
toe om het hoofdversienummer te specificeren (zoals 2.7 of 3.3). ServBay kiest dan automatisch de nieuwste subversie binnen die hoofdserie die reeds geïnstalleerd is.
ini
# .servbay.config
# Specificeer het hoofdversienummer van Ruby voor dit project (bijv. 3.3)
# ServBay kiest automatisch de nieuwste geïnstalleerde 3.3.x-versie
RUBY_VERSION=3.3
# Je kunt ook andere talen en configuraties specificeren
NODE_VERSION=18
# ... overige configuratie ...
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Als je in deze map een terminal opent (met actieve ServBay-omgeving) en ruby -v
uitvoert, zie je de Ruby-versie die je in .servbay.config
hebt ingesteld (of de hoogste geïnstalleerde versie in die serie).
Eenvoudig praktijkvoorbeeld
Laten we een eenvoudig project opzetten om het gebruik van .servbay.config
te illustreren:
Maak een projectmap aan:
bashmkdir my-ruby-project cd my-ruby-project
1
2Creëer
.servbay.config
: Voeg in de mapmy-ruby-project
een.servbay.config
toe met volgende inhoud:iniRUBY_VERSION=2.7 # Stel, Ruby 2.7.x is geïnstalleerd
1(Controleer of je Ruby 2.7 al via ServBay hebt geïnstalleerd)
Maak een Ruby-script: Maak het bestand
app.rb
aan:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"
1
2Activeer en controleer: (Zorg dat je terminal de ServBay-omgeving gebruikt) Voer in de map
my-ruby-project
uit:bashruby -v
1De uitvoer toont de geïnstalleerde Ruby 2.7.x-versie.
Script uitvoeren:
bashruby app.rb
1De uitvoer zou moeten zijn:
Project is using Ruby version: 2.7.x
(waarbij x het exacte subversienummer is).Projectafhankelijkheden installeren (voorbeeld): Als je Bundler gebruikt voor dependency management (vaak in Rails-projecten), voer dan het volgende uit:
bash# Indien bundler nog niet geïnstalleerd is # gem install bundler bundle install
1
2
3Bundler installeert afhankelijkheden op basis van de
Gemfile
en de actieve Ruby-versie (zoals 2.7.x).
Heb je een ander project dat Ruby 3.4 nodig heeft? Gebruik dan gewoon RUBY_VERSION=3.4
in diens .servbay.config
en ServBay schakelt bij het wisselen van map automatisch de juiste Ruby-omgeving in.
Integratie met webservers (Rails, Sinatra, enz.)
Voor webapplicaties die gebruik maken van Ruby on Rails, Sinatra en soortgelijke frameworks, worden veelal applicatieservers als Puma, Unicorn of Thin ingezet. Je kunt het volgende doen:
- Maak binnen ServBay een Website aan voor je applicatie.
- Configureer een van ServBay’s webservers (Nginx, Caddy, Apache) als reverse proxy: stuur inkomende verzoeken van een specifiek domein door naar het poortnummer of de Unix-socket van je Ruby-applicatieserver, bijvoorbeeld
http://localhost:3000
of een Puma/Unicorn-socket.
Deze opzet zorgt ervoor dat je kunt profiteren van ServBay’s domeinbeheer, automatische HTTPS (waar geconfigureerd) en een centrale toegangspoort tot je applicaties.
Samenvatting
ServBay maakt Ruby-ontwikkeling op macOS bijzonder makkelijk. Met het overzichtelijke pakketbeheer en krachtige, projectgebonden versiebeheer via .servbay.config
beheer je moeiteloos meerdere Ruby-versies en hun Gems. Zo waarborg je voor al je projecten een eigen en consistente omgeving, wat je productiviteit als Ruby-ontwikkelaar ten goede komt.