Введение
Ruby on Rails – популярный стек приложений для разработчиков, которые хотят создавать сайты и веб-приложения. Язык программирования Ruby, в сочетании с фреймворком разработки Rails, делает разработку приложений быстрой и эффективной.
Один из способов установки Ruby и Rails – использование командной строки и инструмента rbenv. Использование rbenv обеспечит вас управляемой и надежной средой для разработки ваших приложений на Ruby on Rails, позволяя легко переключаться на необходимую версию Ruby для работы.
Rbenv поддерживает указание версий Ruby для конкретных приложений, позволяет изменять глобальную версию Ruby для каждого пользователя и позволяет использовать переменную среды для переопределения версии Ruby.
В этом руководстве вы будете использовать rbenv для установки и настройки Ruby on Rails на вашей локальной машине macOS.
Предварительные требования
Чтобы следовать этому руководству, вам понадобится:
- Один компьютер или виртуальная машина с установленной macOS, с административным доступом к этой машине и подключением к интернету. Это руководство было протестировано на macOS 12.4 Monterey.
- Node.js установлен на вашем компьютере с macOS, как объяснено в Как установить Node.js и создать локальное средство разработки на macOS. Некоторые функции Rails, такие как Asset Pipeline, зависят от JavaScript Runtime. Эту функциональность предоставляет Node.js.
- Менеджер пакетов Homebrew установлен на вашем компьютере с macOS.
Шаг 1 — Установка rbenv
На этом этапе вы установите rbenv и убедитесь, что он запускается автоматически при загрузке. Для этого на macOS в этом руководстве будет использоваться менеджер пакетов Homebrew.
Чтобы загрузить пакет rbenv
с помощью Homebrew, выполните следующую команду:
- brew install rbenv
Это установит rbenv и плагин [ruby-build] (https://github.com/rbenv/ruby-build). Этот плагин добавляет команду rbenv install
, которая упрощает процесс установки новых версий Ruby. Это может установить несколько других зависимостей и занять некоторое время.
Затем вы добавите команду eval "$(rbenv init -)"
в ваш файл ~/.bash_profile
, чтобы rbenv автоматически загружался при открытии терминала. Для этого откройте ваш файл .bash_profile
в nano
или вашем любимом текстовом редакторе:
- nano .bash_profile
Добавьте следующую строку в файл:
eval "$(rbenv init -)"
Сохраните и закройте файл.
Затем примените внесенные вами изменения в файл ~/.bash_profile
к текущей оболочке:
- source ~/.bash_profile
Чтобы убедиться, что rbenv настроен правильно, используйте команду type
, которая отобразит больше информации о команде rbenv
:
- type rbenv
Ваше окно терминала отобразит следующее:
Outputrbenv is a function
rbenv ()
{
local command;
command="${1:-}";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "$(rbenv "sh-$command" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
esac
}
На данный момент у вас установлены и rbenv, и ruby-build на вашем компьютере. Это позволит вам установить Ruby из командной строки на следующем этапе.
Шаг 2 — Установка Ruby
С установленным плагином ruby-build теперь вы можете установить любую версию Ruby, которая вам может понадобиться, через одну команду. На этом этапе вы выберете версию Ruby, установите ее на свой компьютер, а затем проверите установку.
Сначала используйте флаг -l
, чтобы перечислить доступные версии Ruby. Обратите внимание, что неперечисленные недавние минорные версии также могут быть доступны. Например, если вывод этой команды перечисляет Ruby 3.0.5
, вы скорее всего сможете также установить 3.0.4
.
- rbenv install -l
Output2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.6.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0
Результатом этой команды будет длинный список версий, из которого вы сможете выбрать ту, которую хотите установить.
В этом руководстве мы установим Ruby 3.1.2:
- rbenv install 3.1.2
Установка Ruby может занять некоторое время, так что будьте готовы, что процесс займет некоторое время.
После завершения установки установите ее в качестве вашей версии Ruby по умолчанию с помощью подкоманды global
:
- rbenv global 3.1.2
Проверьте, что Ruby был правильно установлен, проверив его номер версии:
- ruby -v
Ваш результат будет выглядеть примерно так:
Outputruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]
Чтобы установить и использовать другую версию Ruby, выполните команды rbenv
с другим номером версии, например, rbenv install 2.7.6
и rbenv global 2.7.6
.
Теперь у вас установлена одна версия Ruby, и вы установили вашу версию Ruby по умолчанию. Далее вы настроите себя для работы с пакетами и библиотеками Ruby, или gems, которые затем позволят вам установить Rails.
Шаг 3 — Работа с Gems
Gems – это пакеты библиотек и программ Ruby, которые могут быть распространены по всей экосистеме Ruby. Вы используете команду gem
для управления этими gems. На этом этапе вы настроите команду gem
для подготовки к установке Rails.
При установке гема процесс установки генерирует локальную документацию. Это может занять значительное количество времени для каждого гема, поэтому вы можете отключить генерацию локальной документации, создав файл с именем ~/.gemrc
, который содержит настройку для отключения этой функции:
- echo "gem: --no-document" > ~/.gemrc
После этого используйте команду gem
для установки Bundler, инструмента, управляющего зависимостями гемов для проектов. Это необходимо для правильной работы Rails:
- gem install bundler
Вы увидите вывод подобный следующему:
OutputFetching: bundler-2.3.18.gem
Successfully installed bundler-2.3.18
1 gem installed
Можно использовать команду gem env
, чтобы узнать больше о среде и конфигурации гемов. Для просмотра местоположения установленных гемов используйте аргумент home
, например, так:
- gem env home
Вы увидите вывод, аналогичный следующему:
/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0
Теперь, когда вы настроили и исследовали рабочий процесс с гемами, вы свободно можете установить Rails.
Шаг 4 — Установка Rails
Чтобы установить Rails, используйте команду gem install
:
- gem install rails
Команда gem
устанавливает указанный гем, а также все зависимости. Rails — это сложный веб-фреймворк для разработки, у которого много зависимостей, поэтому процесс займет некоторое время. В конечном итоге вы увидите сообщение о том, что Rails установлен, вместе с его зависимостями:
Output...
Successfully installed rails-7.0.3.1
35 gems installed
Примечание: Если вы хотите установить другую версию Rails, вы можете перечислить допустимые версии Rails, выполнив поиск, который выведет длинный список возможных версий. Затем вы можете установить конкретную версию, например, 4.2.7, используя флаг -v
:
- gem search '^rails$' --all
- gem install rails -v 4.2.7
rbenv работает, создавая каталог shims или библиотек, которые перехватывают вызовы и изменяют или перенаправляют их. В данном случае shims направляют команды Ruby на файлы, используемые текущей активированной версией Ruby. Через подкоманду rehash
, rbenv поддерживает shims в этом каталоге, чтобы соответствовать каждой команде Ruby для каждой установленной версии Ruby на вашем сервере. Всякий раз, когда вы устанавливаете новую версию Ruby или гем, предоставляющий команды, такие как Rails, вы должны использовать rehash
.
Для обновления каталога shims выполните следующую команду:
- rbenv rehash
Проверьте установку Rails, выведя его версию с помощью этой команды:
- rails -v
Вы увидите установленную версию Rails:
OutputRails 7.0.3.1
Успешно установив Rails, вы можете начать тестировать вашу установку Ruby on Rails и приступить к разработке веб-приложений. В следующем шаге вы узнаете, как обновить и удалить rbenv и Ruby.
Шаг 5 — Обновление и удаление rbenv и Ruby
При поддержке проектов полезно знать, как обновлять и удалять при необходимости. На этом этапе вы обновите rbenv, а затем удалите Ruby и rbenv с вашего компьютера.
Вы можете обновить rbenv и ruby-build, используя Homebrew, запустив следующую команду:
- brew upgrade rbenv ruby-build
Если требуется обновить rbenv или ruby-build, Homebrew сделает это автоматически. Если ваша настройка уже обновлена, вы получите вывод, аналогичный следующему:
OutputWarning: rbenv 1.2.0 already installed
Warning: ruby-build 20220713 already installed
Это гарантирует, что мы используем самую актуальную версию rbenv, доступную.
При загрузке дополнительных версий Ruby вы можете накапливать больше версий, чем вам хотелось бы, в вашем каталоге ~/.rbenv/versions
. С помощью подкоманды uninstall
плагина ruby-build вы можете удалить эти предыдущие версии.
Например, выполните следующее, чтобы удалить Ruby версии 2.1.3:
- rbenv uninstall 2.1.3
С помощью команды rbenv uninstall
вы можете очистить старые версии Ruby, чтобы у вас не было установлено больше, чем вы используете в данный момент.
Если вы решили, что больше не хотите использовать rbenv, вы можете удалить его из своей системы.
Для этого сначала откройте файл ~/.bash_profile
в вашем редакторе:
- nano ~/.bash_profile
Найдите и удалите следующую строку из файла, чтобы rbenv не запускался при открытии Терминала:
...
eval "$(rbenv init -)"
После удаления этой строки сохраните файл и закройте редактор.
Выполните следующую команду, чтобы применить изменения к вашей оболочке:
- source ~/.bash_profile
Затем удалите rbenv и все установленные версии Ruby этой командой:
- rm -rf `rbenv root`
Наконец, удалите пакет rbenv с помощью Homebrew:
- brew uninstall rbenv
Проверьте версию rbenv, чтобы убедиться, что он был удален:
- rbenv -v
Вы получите следующий вывод:
Output-bash: /usr/local/bin/rbenv: No such file or directory
Это означает, что вы успешно удалили rbenv с вашего компьютера.
Заключение
В этом руководстве вы установили Ruby on Rails с помощью rbenv на macOS. Отсюда вы можете узнать больше о программировании на Ruby в нашей серии Как писать на Ruby. Вы также можете изучить, как использовать Ruby on Rails с PostgreSQL вместо его стандартной базы данных sqlite3, которая обеспечивает большую масштабируемость, централизацию и стабильность для ваших приложений.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos