Я относительно новичок в мире программирования, и я решил задокументировать новые концепции и другие вещи, которые мне потребовалось некоторое время, чтобы понять - не только для закрепления моего обучения, но и для того, чтобы помочь другим, кто, возможно, пытается научиться или достичь того же. вещи.
Я установил подсистему Windows для Linux (WSL), используя конгломерат различных блогов и ресурсов с разной степенью устаревания. Я не встречал ни одного, который был недавним и в нем было все, что мне было нужно, так что, надеюсь, это может служить этой цели для кого-то.
Для работы подсистемы Windows Linux больше не нужно включать режим разработчика
Подготовка к работе с Windows
- Убедитесь, что вы используете Windows 10. Подсистема Windows Linux (WSL) не автоматически включается в Windows. Итак, для начала нам нужно включить его!
а) Перейдите в панель поиска Windows и введитеturn windows features on or off
б) Щелкните результат, соответствующий вашему запросу. Он будет в вашей панели управления. Вы должны увидеть что-то вроде этого:
! [переключение функций Windows] (https://thepracticaldev.s3.amazonaws.com/i/k4x418deogy16bqva8ab.png)
c) Прокрутите вниз, пока не увидите «Подсистема Windows для Linux» - убедитесь, что этот флажок установлен!
2. Перезагрузите компьютер.
3. Проверьте свою версию Windows 10, перейдя в System Information
и проверив свою версию. Если ваша сборка ранее 16215, пропустите шаг 4 и перейдите к шагу 5.
4. Откройте Microsoft Store. Найдите «Ubuntu»
а) Выберите «Ubuntu» (я не использовал 16.04 или 18.04 LTS)
5. Если вы столкнетесь с ошибками или у вас установлена ранняя версия Windows 10, см. Дополнительную информацию здесь.
6. Откройте приложение Ubuntu. Следуйте инструкциям, которые будут включать создание имени пользователя и пароля. Не забывай свой пароль!
Примечание: если на этом этапе вы получите сообщение об ошибке Windows Subsystem for Linux has no installed distributions. Distributions can be installed by visiting the Windows Store: https://aka.ms/wslstore Press any key to continue...
, попробуйте вручную запустить или перезапустить LxssManager в своем приложении Services Desktop (просто выполните поиск services
в строке поиска Windows). В разделе L
щелкните правой кнопкой мыши LxssManager
и выберите Restart
или Start
.
Начните оснащать вашу новую подсистему Linux: RVM / Ruby, git, NodeJS и Rails
- Как только все настроено, мы можем приступить к настройке нашей системы! Начните с выполнения следующего, чтобы загрузить наши зависимости:
sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev libpq-dev libgdbm-dev libncurses5-dev automake libtool bison gnupg postgresql postgresql-contrib
- Установите RVM, запустив:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
с последующим
\curl -sSL https://get.rvm.io | bash -s stable --ruby
и наконец
source ~/.rvm/scripts/rvm
3. Давайте установим gem-пакет:
gem install bundler
4. И настроим git:
git config --global color.ui true
Для следующих нескольких команд обязательно введите свою конкретную информацию:
git config --global user.name "your_name" git config --global user.email "[email protected]"
Вы можете общаться со своими удаленными репозиториями через HTTPS или SSH. Если вы хотите использовать SSH (что означает, что вам не нужно будет проходить аутентификацию с вашим именем пользователя и паролем GitHub перед каждым нажатием) - следуйте этим инструкциям.
5. Теперь давайте установим NodeJS, а затем Rails, чтобы мы могли сделать кучу всего!
- Во-первых, nodejs:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
- Затем Ruby on Rails:
gem install rails
Выберите свой редактор программирования: VSCode
Вы можете использовать любой редактор, какой захотите, но я собираюсь пройти через настройку VSCode.
- Скачайте VSCode здесь. Выберите загрузку Windows, а не загрузку Linux. Все необходимые загрузки Linux будут выполняться через терминал Ubuntu, а все остальное необходимо загрузить для вашей ОС Windows.
- Чтобы настроить доступность вашего терминала Ubuntu в VSCode:
- открыть VSCode
- откройте палитру команд с помощью
F1
или _15 _ + _ 16 _ + _ 17_ - начните вводить следующее:
Terminal: Select Default Shell
, пока не увидите это. Выберите этот вариант.
- Как только вы выберете его, появится несколько вариантов. Вы хотите выбрать WSL
3. Теперь вы можете использовать свой терминал Ubuntu в VSCode. Выберите «Новый терминал» в раскрывающемся списке «Терминал» или введите _19 _ + _ 20_ + `, чтобы использовать его.
4. Дополнительные пользовательские настройки:
- Вы можете добавить несколько вещей в свои пользовательские настройки, чтобы настроить и улучшить свой опыт программирования. Что наиболее важно, мы можем заставить VSCode обрабатывать файлы .erb как файлы .html, что позволяет нам использовать все те же ярлыки и получать такую же подсветку синтаксиса.
- Чтобы открыть настройки пользователя, снова откройте палитру команд с помощью
F1
или _22 _ + _ 23 _ + _ 24_ и введитеPreferences: Open Settings (JSON)
- Вы увидите такой экран:
- Чтобы ваши файлы erb обрабатывались как html, добавьте в свои пользовательские настройки следующее (обведено выше):
"emmet.includeLanguages": {
"erb": "html"
}
- Некоторые дополнительные личные предпочтения, которые мне нравятся:
"window.zoomLevel": -1,
"editor.acceptSuggestionOnEnter": "off",
"editor.fontSize": 11,
"editor.fontFamily": "Hack, Consolas, 'Courier New', monospace",
- Обратите внимание, что для использования шрифта Hack вам необходимо его загрузить. Вы можете проверить это здесь".
Важные знания: базовое использование
Ваш терминал фактически обращается к виртуальной машине Ubuntu, которая работает внутри вашей ОС Windows. Если вы когда-нибудь cd
войдете в свой терминал, вы будете отправлены в «дом пользователя» вашей виртуальной машины Linux. Это также место по умолчанию, в котором вы будете находиться, когда откроете приложение Ubuntu. На самом деле вы хотите заниматься всем своим бизнесом в обычном файловом пространстве Windows, а не в файловом пространстве виртуальной машины Linux. Итак, вам нужно знать, как перемещаться в вашем терминале из файловой системы Ubuntu в файловую систему Windows. Это довольно просто, если вы понимаете, как устроена система, поэтому давайте быстро рассмотрим это.
Чтобы вы могли получить доступ к функциям машины Linux, Windows хранит ОС Ubuntu и файловую систему внутри своей собственной файловой системы. Вы НИКОГДА не должны получать доступ к файлам Ubuntu через компьютер с Windows. Что вам СЛЕДУЕТ сделать, так это сохранить все, над чем вы работаете, в обычном файловом пространстве Windows и получить доступ к нему через терминал Ubuntu. Итак, как ты это делаешь? Что ж, с точки зрения Ubuntu, это обычная машина с Linux, но Microsoft проложила путь между виртуальной машиной Linux и вашей ОС Windows через каталог /mnt
в корне вашего Ubuntu.
Вот краткое изображение того, как выглядят первые несколько уровней любой файловой системы Linux:
Как видите, каталог mnt
создан для других файловых систем, поэтому именно здесь Microsoft подключила ваш Linux к вашему компьютеру с Windows:
Итак, вы можете добраться туда из начальной точки, набрав:
cd /mnt/c/users/your_windows_username
or
cd ../../mnt/c/users/your_windows_username
Если вы поместите одну из этих строк как alias
в ваш .bashrc файл (находится в /home/your_linux_username/.bashrc
), вы можете быстро перейти в домашний каталог Windows (в примере ниже, просто набрав home
в свой терминал):
alias home="cd /mnt/c/users/your_windows_username"
Вы можете легко изменить свой файл .bashrc, перейдя в свою домашнюю Linux (просто запустив cd
) и набрав:
nano .bashrc
Сначала вы захотите сделать резервную копию файла .bashrc, чтобы не испортить его. Вы можете сделать это, скопировав резервную копию с помощью
cp .bashrc .bashrc.bak
Вы сохраняете файл, который вы изменили в nano
, следуя указаниям в нижней части экрана: нажмите _41 _ + _ 42_, затем y
, а затем Enter
, чтобы сохранить изменения.
Если вам неудобно использовать эти команды, просмотрите ссылку на основные команды Linux ниже в ресурсах.
Помните, помещайте все свои файлы в каталоги Windows! Таким образом, у вас будет доступ к нему через терминал Linux или ОС Windows, а ваш редактор VSCode может открываться в правильном месте, когда вы используете
code .
(если вы находитесь в файловой системе Linux, VSCode откроется, но не в нужном месте).
Настройка базы данных PostgreSQL
Настройка PostgreSQL позволяет легко интегрировать базу данных производственного уровня в проект Rails. Это позволяет легко размещать на Heroku с небольшой настройкой.
- Во-первых, мы хотим Загрузить PostgreSQL для Windows - загрузить интерактивный установщик.
- Как только все будет загружено и установлено, вы можете проверить правильность работы, набрав в своем терминале
psql -p 5432 -h localhost -U postgres
После проверки соединения вы можете выйти, набрав
\q
3. Есть несколько способов выполнить следующие несколько шагов, но самый простой - использовать pgAdmin. Откройте pgAdmin, графический интерфейс пользователя для PostgreSQL.
- Это должно открыть pgAdmin в вашем браузере. Запустите сервер, щелкнув правой кнопкой мыши «PostgreSQL» и выбрав «Подключить сервер».
- Введите пароль, который вы указали при загрузке
- Ваш сервер PostgreSQL запущен, и теперь его можно интегрировать в ваши проекты.
- Вы также хотите настроить нового пользователя / роль и пароль, которые вы хотите использовать с вашим приложением rails. Убедитесь, что вы предоставили своему пользователю / роли все доступные разрешения во время установки.
- Во время установки обязательно заполните
Name
на вкладкеGeneral
,Password
на вкладкеDefinition
и включите все разрешения на вкладкеPrivileges
.
ПРИМЕР: ПОДКЛЮЧЕНИЕ СЕРВЕРА POSTGRESQL К ПРИЛОЖЕНИЮ RAILS
- Убедитесь, что ваш сервер подключен и роли настроены, как описано выше.
- Убедитесь, что вы находитесь в подходящем каталоге (в пространстве файловой системы Windows), и создайте приложение Rails, настроенное для использования PostgreSQL:
rails new my-first-app --database=postgresql
- Теперь давайте настроим наш
database.yml
файл, чтобы наше приложение могло подключаться к нашей базе данных. Добавьте следующее в вашconfig/database.yml
файл под ОБАdevelopment:
иtest:
. Вам нужно будет добавить пользователя и пароль, которые будут соответствовать ролям, которые мы создали в pgAdmin.
host: localhost
user: your-postgres-username
password: your-postgres-usernames-password
- Теперь мы можем протестировать нашу базу данных и совместимость рельсов, сначала настроив некоторую архитектуру в нашем приложении:
rails g scaffold Post title:string body:text
- теперь создайте и перенесите базу данных:
rake db:create
rake db:migrate
- Если это не удается, убедитесь, что вы добавили свои конфигурации database.yml как в разделы разработки, так и в разделы тестирования.
- Теперь запустим сервер:
rails s
- Если вы перейдете к
localhost:3000
, вы увидите, что мы на Rails! - Давайте протестируем нашу базу данных, перейдя на localhost: 3000 / posts.
- Теперь просто следуйте по грубым ссылкам и попробуйте оставить сообщение! Мы должны видеть, как наша база данных отлично работает с нашим приложением rails!
- Надеюсь, у вас все работает! Теперь вы готовы к разработке с использованием WSL!
Ресурсы
Документация Microsoft: Подсистема Windows для Linux
Настройка ключа SSH с помощью GitHub
Основные команды Linux