LoginSignup
1
3

More than 5 years have passed since last update.

【Ruby on Rails】Cloud9からUbuntuへ環境移行。git cloneし、localhostで接続するまで

Last updated at Posted at 2019-02-23

プログラミングスクールではCloud9で開発を行っていましたが、最近はWSL(Ubuntu)で作業しています。
Cloud9で作業していたポートフォリオをUbuntuの方で修正を行いたかったため、環境を移行しました。

予想される必要な作業

  • Rubyのバージョンを合わせる。
  • Cloud9ではmySQL,UbuntuではPostgreSQLを使用していたため、現在の環境にMySQLをインストールorプロジェクトのデータベースの設定をPostgreSQLに変更。

git clone~gemのインストール

まずはgitclone後プロジェクトのディレクトリに移動し、対応するRubyのバージョンをインストール。

$ rbenv install 2.4.1

Rbenvで管理されているバージョンを確認すると正しくインストールされている。

~$ rbenv versions
  2.4.1
  2.4.2
* 2.5.1 (set by /home/tkr_ld/.rbenv/version)

ローカルのRubyのバージョンを設定。

$ rbenv local 2.4.1

確認。

$ ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

次にMySQLをインストール。

sudo apt install mysql-server mysql-client

gemをインストール。

$ gem install bundler
$ bundle install

下記のエラーが。

An error occurred while installing mysql2 (0.4.10), and Bundler cannot continue.

エラー文を読むとlibmysqld-devのライブラリが必要なようだったのでインストール。

$ sudo apt-get install libmysqld-dev

再度bundle installすると成功。

Ruby Sass is deprecated and will be unmaintained as of 26 March 2019.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  http://sass.logdown.com/posts/7081811

MySQLの接続設定

データベースを作成してみる。

$ bin/rails db:create
#<Mysql2::Error: Access denied for user 'root'@'localhost'>

どうやらrootで接続できていないようです。調べてみるとMySQLではdatabase.ymlにデータベースの接続ユーザーを設定する必要があるとのこと。
そこでデータベースのユーザーを作成。

$ sudo mysql
mysql> CREATE USER 'railsuser'@'localhost' IDENTIFIED BY 'mypassword';
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'railsuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

database.ymlに設定。

config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: railsuser #設定したユーザー
  password: mypassword #設定したパスワード
  host: localhost

データベースを作成。

$ bin/rails db:create
Created database 'tasklist_development'
Created database 'tasklist_test

データベースが作成されたことが確認できたので、マイグレーションを実行。

$ bin/rails db:migrate

サーバーを起動。

$ bin/rails s

最後に

起動できました。もし捕捉や修正などありましたら、コメントを頂けると幸いです。

参考にした記事

RailsをMySQL対応した方法
Railsアプリ開発に途中から参加する場合の環境設定

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3