Short Tip: Rails App erstellen

Gegeben ist ein nacktes Debian 8. Rails und die dazugehörigen Gems benötigen einige Debian Pakete (wir fügen zusätzlich das PostgreSQL Repository hinzu da wir Rails nicht mit sqlite oder MySQL nutzen möchten):

echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
aptitude update
aptitude -y install ca-certificates ruby ruby-dev gcc libxml2-dev libsqlite3-dev make zlib1g-dev postgresql-9.4 postgresql-server-dev-9. 

Damit User Gems installieren können müssen wir noch eine /etc/gemrc Datei erstellen mit folgendem Inhalt:

gem: --user-install

Wenn man die Installation beschleunigen möchte und keine Dokus benötigt kann man noch --no-document ergänzen.

Danach kann ein neuer User angelegt und Rails installiert werden:

 adduser api
su api
cd ~

Hier haben wir nun zwei Optionen, die Gems Userweit zu installieren oder ordnerspezifsch (Ich empfehle Version 2):
1. Möglichkeit:

gem install rails --verbose

Aktuell (Rail 4.2.0) installiert dies 27 Gems: actionmailer, actionpack, actionview, activejob, activemodel, activerecord, arel, builder, bundler, erubis, globalid, hike, loofah, mail, mime-types, multi_json, nokogiri, rack, rack-test, rails, rails-dom-testing, rails-html-sanitizer, railties, sprockets, sprockets-rails, thor, tilt

Um die Gems in der Shell ausführen zu können müssen wir noch unsere PATH Variable anpassen, dazu folgenden Code in die ~/.bashrc schreiben:

if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

Wenn man die Datei nun einliest mit

source ~/.bashrc

wird die PATH Variable erweitert und wir können nun Rails nutzen.
Mit dem Befehl

rails --version

kann überprüft werden ob Rails erfolgreich installiert wurde. Die Ausgabe lautet etwa: Rails 4.2.0

Unser erstes Rails Projekt existiert schon. Um Appspezifisch Gems zu installieren bietet sich bundle an. Dazu müssen wir in unser neues Projekt wechseln:

cd mailapi
bundle install --path=vendor/bundle

2. Möglichkeit:
Wir erstellen eine Konfigurationsdatei für bundler und sagen Ihm das Gems in ein bestimmtes Verzeichnis Installiert werden sollen, danach installieren wir mit bundle die Gems:

mkdir .bundle
echo "---\nBUNDLE_PATH: vendor/bundle\nBUNDLE_DISABLE_SHARED_GEMS: '1'\n" > .bundle/config
bundle install

Links:
Rails Starter Guide

This entry was posted in General, Linux, Nerd Stuff, Short Tips. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.