Чтение онлайн

на главную

Жанры

Первые 20 часов. Как быстро научиться… чему угодно
Шрифт:

3. Готовый сайт Jekyll и серверное приложение Sinatra требуется загрузить на сетевой хост.

4. Для решения всех этих задач мне нужно понять, как установить на мой компьютер последнюю версию языка Ruby, а также среду Sinatra и другие необходимые программы.

Последнее требование может служить превосходным примером подготовки необходимых условий для занятий. Если я не смогу понять, как установить Ruby на свой компьютер, то буду не в состоянии перейти к следующим этапам. Так что начинать нужно с этого.

Важно отметить, что интернет-технологии меняются ежедневно.

Вполне вероятно, что какие-то последовательности команд, приведенные в данном разделе, уже устареют к тому времени, когда вы будете читать книгу. Не переживайте: важен метод, а не команды.

Аналогичным образом, у вас возникнет искушение лишь бегло просмотреть приведенные фрагменты программы. Это естественное желание: строки кода выглядят слишком сложными, и вы, скорее всего, не сразу поймете, что они означают.

Я бы советовал вам не поддаваться искушению. Эти имена, команды и символы казались мне такими же чужими, как сейчас кажутся вам. Эта глава посвящена процессу, с помощью которого вы разберетесь в том, что они значат и как их использовать. Если вы попытаетесь прочесть строки программы, то извлечете гораздо больше пользы из этой главы.

Вперед!

Обновление Ruby

Компьютер у меня уже есть, и это хорошее начало: без него писать программу невозможно.

В настоящее время я пользуюсь Apple MacBook Air с операционной системой Mac OS X 10.6. Недолгий поиск в Google позволяет выяснить, что операционная система поставляется с уже установленной программой Ruby версии 1.8.7. И это тоже хорошо: я могу запускать написанные на языке Ruby программы без дополнительных усилий.

Но проблема в том, что Ruby 1.8.7 не самая последняя версия программы. Когда я пытаюсь установить Jekyll, система сообщает, что программа требует версию Ruby не ниже 1.9.1, и это значит, что мне нужно выяснить, как обновить программу. Придется вновь прибегнуть к помощи Google.

Поиск выявил две программы, предназначенные для облегчения установки Ruby: rbenv и ruby-build. Обе программы поддерживаются Сэмом Стефенсоном, разработчиком Ruby из компании 37signals. Вместе они помогают устанавливать новые версии Ruby и указывать компьютеру, какую версию использовать.

Инструкция на странице документации [14] rbenv показывает, как установить программы на компьютер. Вот что представляют собой команды установки:

$ cd ~

$ git clone git://github.com/sstephenson/ruby-build.git

$ cd ruby-build

$ sudo./install.sh

$ cd..

$ git clone git://github.com/sstephenson/rbenv.git.rbenv

$ mkdir — p ~/.rbenv/plugins

$ cd ~/.rbenv/plugins

$ git clone git://github.com/sstephenson/ruby-build.git

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashprofile

$ echo 'eval "$ (rbenv init — )"' >> ~/.bashprofile

$ exec $SHELL

$ rbenv install 1.9.3-p125

$ rbenv rehash

$ rbenv global 1.9.3-p125

Выглядит устрашающе, но это всего лишь список команд. Давайте проанализируем его.

Эти команды водятся в программе Terminal, которая предустановлена на компьютерах Apple. В кинофильмах часто показывают хакеров, которые лихорадочно набирают длинные строчки команд, отображающиеся на экране. Так вот — их компьютеры работают в программе Terminal [15].

Я открываю программу и ввожу первую команду:

$ cd ~

Эту

команду понять нетрудно. Символ $ программа Terminal выводит на экран, когда готова к приему новой команды. cd — это сокращение от «сменить каталог» (change directory). Не составляет труда выяснить, что символ ~ обозначает «корневой каталог пользователя», то есть папку на моем компьютере, где хранится мой профиль пользователя.

Я набираю команду и нажимаю клавишу «Ввод». Теперь программа Terminal выводит на экран следующую строчку:

joshkaufman $

Это хорошая новость: я перешел в корневой каталог. Пока все в порядке. Я набираю следующую команду:

$ git clone git://github.com/sstephenson/ruby-build.git

Компьютер отвечает:

git: command not found

Похоже, программа git не установлена на моем компьютере. Я должен выяснить, как это сделать.

Что такое git?

Занявшись поиском инструкций о том, как установить git в операционную систему Mac OS X, я наткнулся на Heroku Toolbelt [16]. Heroku [17] — это компания, предоставляющая хостинг для интернет-приложений, следовательно, они заинтересованы в том, чтобы облегчить создание этих самых интернет-приложений.

Heroku Toolbelt представляет собой программу, которая устанавливает несколько распространенных инструментов разработки программного обеспечения, необходимых для создания приложений на Heroku. Среди них есть и git [18].

Я скачал загрузочный пакет, запустил его и получил подтверждение, что все установлено правильно. Теперь попробую еще раз ввести команду:

$ git clone git://github.com/sstephenson/ruby-build.git

Ответом мне стали следующие строки:

Cloning into ruby-build…

remote: Counting objects: 1004, done.

remote: Compressing objects: 100 % (453/453), done.

remote: Total 1004 (delta 490), reused 937 (delta 431)

Receiving objects: 100 % (1004/1004), 108.77 KiB, done.

Resolving deltas: 100 % (490/490), done.

Успех! «Done» (готово) — это хороший признак. Кроме того, сообщения об ошибке не было. Идем дальше.

Я продолжаю вводить остальные команды. Судя по информации в инструкции по загрузке, я загружаю необходимые файлы и при помощи команды echo добавляю фрагменты текста в файлы конфигурации, а затем перезапускаю программу под названием SHELL, чтобы сохранить изменения. После перезагрузки SHELL программы rbenv и rubybuild установлены на моем компьютере. Ура!

Теперь пора установить последнюю версию Ruby:

$ rbenv install 1.9.3-p125

Программа автоматически загружает исходный код Ruby и делает сборку, выводя впечатляющее количество информации в окне программы Terminal. (Теперь я чувствую себя как настоящий голливудский программист.) [19]

$ rbenv rehash

Судя по документации, эта команда помогает компьютеру распознать, что установлена новая версия Ruby.

$ rbenv global 1.9.3-p125

Эта команда устанавливает, что версия 1.9.3-p125 является версией Ruby по умолчанию на данном компьютере. В руководстве сказано, что запуском следующей команды я указываю компьютеру необходимость использовать новую версию:

Поделиться:
Популярные книги

Проклятый Лекарь IV

Скабер Артемий
4. Каратель
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь IV

Прометей: Неандерталец

Рави Ивар
4. Прометей
Фантастика:
героическая фантастика
альтернативная история
7.88
рейтинг книги
Прометей: Неандерталец

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Книга пяти колец

Зайцев Константин
1. Книга пяти колец
Фантастика:
фэнтези
6.00
рейтинг книги
Книга пяти колец

Приручитель женщин-монстров. Том 9

Дорничев Дмитрий
9. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 9

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Камень. Книга шестая

Минин Станислав
6. Камень
Фантастика:
боевая фантастика
7.64
рейтинг книги
Камень. Книга шестая