Która wersja rails na Linux?

Witam serdecznie, chciałbym zainstalować Ruby on Rails na Linux Xubuntu 16.04. Na Linux Mint 18.1 zainstalowałem railsy 4.2 już tym pierwszym sposobem przez rbenv.


Teraz znalazłem instalację przez rvm i nie wiem czy nie wypróbować


Od razu dodam że nie jestem programistą tylko samokukiem, chciałem sobie zbudować stronę z logowaniem i rejestracją. Ale wybrałem RoR zamiast PHP czy Django/Python.
Przy okazji zapytam jaką wersję railsów stosujecie na serwerze, czyli na produkcji? Obecnie używam wersji 4.2, ale widzę że najnowsza stabilna to już 5.0.2. Jest też już dostępna wersja 5.1rc.
Wydaje mi się że powinienem używać tej najnowszej stabilnej wersji i na tym komputerze z Xubuntu chcę taką zainstalować.
Pytanie czy dużo zmian mnie czeka w porównaniu do wersji 4.2, czy aktualizacja gemów nie wywali mi strony(a może ją zbudować podobnie od podstaw na 5.0.2)?
Czy heroku dobrze już obsługuje te najnowszą wersję i czy jest sens się przesiadać z 4 na 5, czy daje to jakiś duży zysk wydajności, czy ułatwień?

Skorzystaj z tego: http://rvm.io/ i nie używaj paczek z dystrybucji.
Tu wybierzesz sobie wersję rubiego i zainstalujesz później takie railsy jakie będziesz chciał.

np:

rvm user rubies
rvm install 2.2.1
rvm gemset create appname
rvm use default 2.2.1@appname
gem install rails -v 5.0.costam

to “rvm user rubies” - daje Ci tyle, że użytkownik w systemie ma swoje własne ruby i gemy. Dzięki temu każdy user może korzystać z innych wersji.

1 Like

Instalowałem to kiedyś według tego poradnika do wersji 4.2. Czy ten filmik nada się do wersji 5.0.2?
https://www.youtube.com/watch?v=wzrF6nnXzJo
Ewentualnie ten trochę nowszy.


To rvm działa chyba na podobnej zasadzie do Django i jego środowisku wirtualnym (zwane też virtualenv)?
Pośpieszyłem się i zainstalowałem już te pakiety:
sudo apt install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs ruby

Czy wystarczy że odinstaluję tylko sam pakiet ruby, a resztę mogę zostawić. No chyba że do rvm i tak mi one nie będą potrzebne, ponieważ on sam rozwiązuje zależności.

Możesz zostawić, możesz wywalić. Jak Ci wygodniej. Zainstaluj rvm, potem z usera zrób to co napisałem i już.

A dlaczego taka stara wersja Ruby 2.2 do railsów 5.0.2? Na Linux Mint i Xubuntu w pakiecie mam już wersję 2.3.1, tak samo przez rbenv do 2.4. Czy chodzi o to, że na serwerach typu heroku są dość stare wersje Ruby i aby nie było potem problemów?
Nie wiem też do czego przydaje się tyle wersji Ruby i railsów w systemie? Na laptopie mam Ruby w wersji 2.3.1 i railsy w wersji 4.2.6.
Tu na desktopie chciałem zainstalować przez to rvm, powiedzmy najnowszy Ruby 2.4.1, aby dobrze to współgrało z railsami 5.0.2, ewentualnie 5.1rc.
Jestem jedynym użytkownikiem na każdym systemie Linux, dlatego nie rozumiem po co mam tworzyć kilka kont użytkownika w systemie i do czego mi tyle różnych wersji Ruby i railsów, dwie nie wystarczy? Czyli ta stabilna sprawdzona 4.2 i najnowsza 5/5.1 do testów, sprawdzania nowych możliwości tej technologii?

To był przykład przecież :slight_smile:

A jaką wersję na produkcji najczęściej używają rubinowcy, np w PHP nadal obowiązuje najpopularniejsza PHP 5.6. Tu w Ruby którą wersje używacie za taki standard do tworzenia aplikacji na serwerach, Wydawało mi się że 4.2, a wersja 5.0 jak już dobrze będzie sprawdzona. Nie wiem może mam mylne spostrzeżenie.

Ja na produkcyjnym serwerze mam jedną aplikację per user. Nie muszę się martwić, że aplikacja napisana rok temu może się popsuć gdy zacznę robić nową z nowymi wersjami czegokolwiek. Możesz to samo osiągnąć na jednym użytkowniku tworząc dla każdej apikacji oddzielny gemset.

Co do wersji - ja tworząc aplikację wybieram najnowszą stabilną wersję ruby i tak samo rails

1 Like

Ok. Zainstalowałem to rvm według tego drugiego filmiku mam ruby w wersji
ruby --version
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
a railsy
Parsing documentation for rails-5.0.2
Installing ri documentation for rails-5.0.2
Czy aktualizujesz zawsze railsy do najnowszej stabilnej wersji, teraz jest tam obecnie 5.0.3? Mam zostawić tak jak jest, tę wersje od rvm?

#Edycja
Ja zainstalowałem trochę inaczej innymi poleceniami niż Twoje, według tego poradnika z YouTube. Możliwe że są bardziej przestarzałe. Nie wiem po co rvm wymagał doinstalowania node, ale ok działa. Zaktualizuję jeszcze tylko railsy do wersji 5.0.3 i może Ruby do 2.4.1. Dzięki za pomoc.

http://localhost:3000/
Yay! You’re on Rails!
Rails version: 5.0.2
Ruby version: 2.4.0 (x86_64-linux)

`
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
sudo apt install curl
\curl -sSL https://get.rvm.io | bash -s stable --rails
source /home/joe/.rvm/scripts/rvm
ruby -v
rails --version
mkdir Code
cd Code
rails new testproject
cd testproject/
rvm list know
rvm use 2.4 --default
sudo apt install nodejs
rails server
`

No to możesz brać się za postgresa :smiley:

1 Like

A polecasz jakieś dobre materiały do PostgrSQL?
W sumie mogę jeszcze zapytać o dwie rzeczy. Raczej przez rvm nie zaktualizuję Ruby do wersji 2.4.1 i railsów do wersji 5.0.3, ponieważ ich tam jeszcze nie ma i muszę zaczekać aż twórcy rvm je tam dodadzą?
Słyszałem że programista Ruby lubi łączyć go z CoffeScript, ja nie przepadam za JavaScript i to w sumie dla mnie dobrze. Polecasz jakieś materiały do CoffeScript, raczej nie jest tak popularny jak TypeScript, czy ECMAscript 6.

rvm install 2.4.1

U mnie działa.

rails 5.0.3 - nie ma takiej wersji, za to od wczoraj jest 5.1.0
zatem:

gem install rails -v 5.1.0

Ewentualnie Gemfile:
gem ‘rails’, ‘~> 5.1.0’

i bundle update

1 Like