Archiwum tagów: ubuntu

RVM, Ruby, Rails – instalacja

Witam,

Postanowiłem ze napiszę notkę dotyczącą instalacji RVM’a, Rubiego i Railsów, żeby wszystko mieć w jednym miejscu a przy okazji może ktoś kiedyś z tego skorzysta :)

Opis dot. instalacji w systemie Ubuntu 11.10 ale na innej dystrybucji (Linux Mint, Debian itp.) również powinno zadziałać.

Aby zainstalować Ruby on Rails w systemach typu unix wystarczy wykonać kilka poniższych kroków:

1. Instalacja GIT’a i CURL’a

sudo apt-get install git curl

2. Instalacja RVM’a (Ruby Version Manager)

curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable

Po zakończeniu instalacji edytujemy plik .bashrc

gedit ~/.bashrc

Sprawdzamy czy na końcu pliku  została dodana taka linika:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Load RVM into a shell session *as a function*

Jeżeli nie ma to dodajemy i zamykamy edytor.
Zamykamy oraz otwieramy terminal (otwieramy nową sesję konsoli aby wczytał się plik .bashrc wraz z nowym wpisem).

Następnie sprawdzamy czy RVM został zainstalowany poprawnie

type rvm | head -1

Powinno nam wyskoczyć

rvm jest funkcją

Jeżeli mamy system w innym języku, napis pojawi się własnie w tym języku.

Pozostała nam jeszcze kwestia instalacji kilka dodatkowych zależności.
Aby zobaczyć jakie biblioteki musimy jeszcze zainstalować wpisujemy:

rvm requirements

W moim przypadku będę używał Rubiego więc zgodnie z instrukcja w terminalu należy wpisać

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Ruby on Rails domyślnie dostarczany jest z bazą danych sqlite3. Ja natomiast korzystam z bazy MySQL, więc instaluję zawszę jeszcze dwie dodatkowe biblioteki (nie jest to jednak konieczne do poprawnego działania Railsów).

sudo apt-get install libmysqlclient-dev libmysql-ruby

3. Instalacja języka Ruby

rvm install 1.9.2

Następnie wybieramy wersję, którą chcemy używać

rvm use 1.9.2

I tak dla pewności sprawdzamy czy aby na pewno wszystko zadziałało :)

user@user:~$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

4. Instalacja Railsów

W końcu możemy zainstalować gem rails używając polecenia

gem install rails

I….. to by było na tyle.

Stwórzmy teraz prostą aplikację (tylko do testów) używając Ruby on Rails

rails new test_app
cd test_app
rails server

Jeżeli podczas wywoływania polecenia rails server wystąpił błąd podobny do tego

/home/user/.rvm/gems/ruby-1.9.2-p290@rails311/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. See
https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
...
...
...

pod tym linkiem znajduje się rozwiązanie. Co prawda tyczy się błędu wywołanego przez inne polecenie jednakże rozwiązanie dla obydwu jest takie same.

Następnie należy otworzyć przeglądarkę i wpisać

http://localhost:3000/

Naszym oczom powinna pokazać się strona powitalna Ruby on Rails :)

Instalacja gdesklets na ubuntu 10.10

Witam,

Dzisiaj chciałem zainstalować jakiś graficzny dodatek na pulpit, pokazujący aktualną pogodę oraz jej prognozę. Wybór padł na gdesklets.

Tak więc wziąłem się za instalację:

sudo apt-get install gdesklets

Jednakże, gdy chciałem uruchomić menedżera widżetów (gdesklets) pojawił się taki oto problem:

Connecting to daemon [ ###         ]
==========================================================[04/10/11-22:08:39]===
Could not import tiling module!

Connecting to daemon [       ###   ]
==========================================================[04/10/11-22:08:56]===
=== Unhandled error! Something bad and unexpected happened. ===

Aby rozwiązać problem należy:

1. Otworzyć /usr/lib/gdesklets/utils/ErrorFormatter.py jako root

sudo gedit /usr/lib/gdesklets/utils/ErrorFormatter.py

2. Przejść do linii 116, która wygląda tak:

def _new_imp(name, globs = {}, locls = {}, fromlist = []):

3. Zamienić ją na:

def _new_imp(name, globs = {}, locls = {}, fromlist = [], test = []):

I teraz można spokojnie uruchomić gdesklets shell.

Pozdrawiam