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

Я установил подсистему Windows для Linux (WSL), используя конгломерат различных блогов и ресурсов с разной степенью устаревания. Я не встречал ни одного, который был недавним и в нем было все, что мне было нужно, так что, надеюсь, это может служить этой цели для кого-то.

Для работы подсистемы Windows Linux больше не нужно включать режим разработчика

Подготовка к работе с Windows

  1. Убедитесь, что вы используете 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

  1. Как только все настроено, мы можем приступить к настройке нашей системы! Начните с выполнения следующего, чтобы загрузить наши зависимости:
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
  1. Установите 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.

  1. Скачайте VSCode здесь. Выберите загрузку Windows, а не загрузку Linux. Все необходимые загрузки Linux будут выполняться через терминал Ubuntu, а все остальное необходимо загрузить для вашей ОС Windows.
  2. Чтобы настроить доступность вашего терминала 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 с небольшой настройкой.

  1. Во-первых, мы хотим Загрузить PostgreSQL для Windows - загрузить интерактивный установщик.
  2. Как только все будет загружено и установлено, вы можете проверить правильность работы, набрав в своем терминале
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