Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x
Воскресенье, 17 февраля 2019 18:25

rbenv. Install Ruby on openSUSE Tumbleweed

Оцените материал
(3 голосов)

К написанию статьи подтолкнуло явно не лучшее в openSUSE Tumbleweed положение дел с rails.

Год назад поимел неслабые проблемы с установкой актуальной версии из оф. репов openSUSE Leap, по совету добрых дядей с форума поддержки openSUSE (кстати, отличный форум, говорю без малейшей иронии; во всяком случае, тот из них, который англоязычный) - проапгрейдил дистр from Leap to Tumbleweed, и в течение года это помогало... но вот пару недель назад после очередного обновления снова пошли косяки. Сперва нам казалось, что удалось кое-как порешать траблы ("нам" - это я и опять-таки добрые волшебники с форума openSUSE, которые, кажется, на сей раз уже не выказывали твердой уверенности в своих советах безнадежно тупому русскому: "IMO no need to do this if you have a working solution now"), но апдейты и апгрейды в итоге взяли свое, и я вновь лишился своей любимой игрушки ruby on rails.

 

 

Ситуацию спас Flux Capacitor Penguin под ником tsu2, предложивший закончить наконец садо-мазо эксперименты (интерпретация моя) и поставить rbenv, процедуру чего и попытаюсь кратко пересказать здесь... уповаю на то, что американцы никогда не увидят этого текста, а если увидят - не смогут адекватно перевести, и заканчиваю вступление старым анекдотом, имеющим, как мне это теперь представляется, непосредственное отношение к мейнтейнерам ряда пакетов: "Дети мои, я прожил трудную жизнь. Мои пальцы с трудом пишут слово "х*й", но оно будет часто встречаться в этом завещании". А теперь - к делу.

 

Install Ruby on openSUSE Tumbleweed

 

Собственно, все, что потребуется сделать - это добавить один репозиторий, доустановить необходимые для сборки rbenv пакеты (если не установлены), клонировать два репа с гитхаба в директорию ~/.rbenv и прописать PATH и шунты в конфиги вашей локальной (или в root, если оно вам надо) учетки. Ну и все, ничего такого страшного и вовсе не бином Ньютона.

Добавляем репо:

sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_Tumbleweed/ devel:languages:ruby:extensions && zypper ref

Далее вот как-то так, старайтесь только установить актуальные версии пакетов, если их еще нет в вашей системе:

sudo zypper in ruby ruby2.5-rubygem-bundler nodejs8 git gcc libopenssl-devel sqlite3-devel
sudo zypper in automake gdbm-devel libyaml-devel ncurses-devel readline-devel zlib-devel

Далее, под обычным пользователем:

git clone git://github.com/sstephenson/rbenv.git .rbenv
cd ~/.rbenv && src/configure && make -C src
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
~/.rbenv/bin/rbenv init

Restart your shell so that PATH changes take effect. (Opening a new terminal tab will usually do it, т.е. закрываем терминал и открываем заново.)

Проверяем сделанное:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

все и везде должно быть OK или зелененькое, как-то так:

Checking for `rbenv' in PATH: /home/alex/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/alex/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20190130-4-g0e33b11)
Counting installed Ruby versions: 2 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK

Ну вот, в принципе, и все. Смотрим перечень доступных версий ruby:

rbenv install -l

и устанавливаем необходимую, одну или несколько:

rbenv install 2.6.1 #for example

, после чего не забываем

rbenv rehash

Выбираем версию ruby глобально:

rbenv global 2.6.1

проверяем:

rbenv version
ruby -v

Назначаем, при необходимости, локальный ruby, перейдя в каталог проекта:

rbenv local 2.0.0

и т.д. и т.п.

Очень неплохо, кстати, все описано в этом блоге, или здесь / здесь.

# Now install rails and sqlite3:
gem install rails

и понеслось.

 

Продолжение на форуме.

1 Комментарий

  • Комментировать Ruben Понедельник, 16 сентября 2019 21:48 написал Ruben

    Все правильно, только у меня было
    Counting installed Ruby versions:none
    а потом закрыть и открыть терминал заново не спасло, пришлось выйти из сеанса и начать снова. Тогда заработало. :) А так спасибо.

Оставить комментарий

Добавьте ваш комментарий

Сейчас на сайте 341 гость и нет пользователей