rails 환경을 준비하는 여러 가지 절차
새로운 rails 환경을 원할 때 항상 조사하기 때문이다.
rbenv+bundler에서 rails 환경을 준비하려면
이것은 나의 가장 기본적인 방법이다.
전제는 rbenv와 bundler를 넣었다는 것이다.
그리고 여기는 루비2입니다.3.0、rails5.0.0으로 설정합니다.$ mkdir myapp
$ cd myapp
$ rbenv versions
2.3.0が入っていなければinstallする
$ rbenv install 2.3.0
$ rbenv local 2.3.0
2.3.0に*が付いていることを確認する
$ rbenv versions
$ bundle init
$ vim Gemfile
# railsのところのコメントアウトを外し、railsのバージョンを指定しておく
gem 'rails', '~> 5.0.0'
$ bundle install --path vendor/bundle
$ bundle exec rails new .
GemfileはYで上書きする
참조http://qiita.com/youcune/items/222777415f00d19cccb4
docker를 사용하여 rails 환경을 준비하려면
rails+postgresql의 상황
전제로 docker for macdocker 환경을 구축했다.
docker 초보자이기 때문에 루비2 참조.3.0、rails5.0.0、postgresq.$ mkdir myapp
$ cd myapp
$ touch Dockerfile
$ vim Dockerfile
FROM ruby:2.3.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
$ touch Gemfile
$ vim Gemfile
source 'https://rubygems.org'
gem 'rails', '5.0.0'
$ touch Gemfile.lock
$ touch docker-compose.yml
$ vim docker-compose.yml
docker-compose.ymlversion: '2'
services:
db:
image: postgres
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3010:3000"
depends_on:
- db
3010:3000은 맥의port3010호와 용기에 연결된 3000호를 뜻한다(예를 들어 맥의localhost:3000이 아무것도 작동하지 않으면 3000호를 유지하는 것은 문제없다)$ docker-compose run web rails new . --force --database=postgresql --skip-bundle
rails newすると生成されるファイルなどが生成されているか確認する
$ ls -l
$ vim Gemfile
# 以下の行のコメントアウトを外す
gem 'therubyracer', platforms: :ruby
$ docker-compose build
$ vim config/database.yml
config/database.ymldevelopment: &default
adapter: postgresql
encoding: unicode
database: postgres
pool: 5
username: postgres
password:
host: db
test:
<<: *default
database: myapp_test
$ docker-compose up
다른 단말기에서$ docker-compose run web rake db:create
여기.에 액세스하면 다음 페이지가 표시됩니다.
http://localhost:3010/
편집해 주세요.
첫 페이지를 원본 페이지로 변경해 보십시오.
다음 명령을 사용하여 웹come controller와 index action을 만듭니다.$ docker-compose run web rails generate controller welcome index
routing을 변경합니다.$ vim config/routes.rb
config/routes.rb# get 'welcome/index'
root 'welcome#index'
그리고 방문하면 용기 쪽도 바로 반영됩니다.
http://localhost:3010/
rails+mysql 상황
참고.
위 단계$ vim docker-compose.yml
까지 동일합니다.
docker-compose.ymlversion: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: hogehoge
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3011:3000"
depends_on:
- db
주의environment:
MYSQL_ROOT_PASSWORD: hogehoge
이 부분이 없으면 시작할 때 다음과 같은 오류가 발생합니다 여기..db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
다음 작업을 수행하려면 단계로 돌아갑니다.$ docker-compose run web rails new . --force --database=mysql --skip-bundle
rails newすると生成されるファイルなどが生成されているか確認する
$ ls -l
$ vim Gemfile
# 以下の行のコメントアウトを外す
gem 'therubyracer', platforms: :ruby
$ docker-compose build
$ vim config/database.yml
config/database.ymldefault: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: hogehoge
host: db
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
$ docker-compose up
다른 단말기에서$ docker-compose run web rake db:create
참고 자료에 액세스하면 다음 페이지가 표시됩니다.
주의$ docker-compose up
에서 다음과 같은 오류가 발생하면 http://localhost:3011/에 기재된 대로 tmp/pids/server.pid
를 삭제하면 시작할 수 있습니다.web_1 | => Booting Puma
web_1 | => Rails 5.0.0 application starting in development on http://0.0.0.0:3000
web_1 | => Run `rails server -h` for more startup options
web_1 | A server is already running. Check /myapp/tmp/pids/server.pid.
web_1 | Exiting
myappm_web_1 exited with code 1
Reference
이 문제에 관하여(rails 환경을 준비하는 여러 가지 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynii/items/62d65ac7c80ef9bdd1a3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ mkdir myapp
$ cd myapp
$ rbenv versions
2.3.0が入っていなければinstallする
$ rbenv install 2.3.0
$ rbenv local 2.3.0
2.3.0に*が付いていることを確認する
$ rbenv versions
$ bundle init
$ vim Gemfile
# railsのところのコメントアウトを外し、railsのバージョンを指定しておく
gem 'rails', '~> 5.0.0'
$ bundle install --path vendor/bundle
$ bundle exec rails new .
GemfileはYで上書きする
rails+postgresql의 상황
전제로 docker for macdocker 환경을 구축했다.
docker 초보자이기 때문에 루비2 참조.3.0、rails5.0.0、postgresq.
$ mkdir myapp
$ cd myapp
$ touch Dockerfile
$ vim Dockerfile
FROM ruby:2.3.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
$ touch Gemfile
$ vim Gemfile
source 'https://rubygems.org'
gem 'rails', '5.0.0'
$ touch Gemfile.lock
$ touch docker-compose.yml
$ vim docker-compose.yml
docker-compose.ymlversion: '2'
services:
db:
image: postgres
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3010:3000"
depends_on:
- db
3010:3000은 맥의port3010호와 용기에 연결된 3000호를 뜻한다(예를 들어 맥의localhost:3000이 아무것도 작동하지 않으면 3000호를 유지하는 것은 문제없다)$ docker-compose run web rails new . --force --database=postgresql --skip-bundle
rails newすると生成されるファイルなどが生成されているか確認する
$ ls -l
$ vim Gemfile
# 以下の行のコメントアウトを外す
gem 'therubyracer', platforms: :ruby
$ docker-compose build
$ vim config/database.yml
config/database.ymldevelopment: &default
adapter: postgresql
encoding: unicode
database: postgres
pool: 5
username: postgres
password:
host: db
test:
<<: *default
database: myapp_test
$ docker-compose up
다른 단말기에서$ docker-compose run web rake db:create
여기.에 액세스하면 다음 페이지가 표시됩니다.http://localhost:3010/
편집해 주세요.
첫 페이지를 원본 페이지로 변경해 보십시오.
다음 명령을 사용하여 웹come controller와 index action을 만듭니다.
$ docker-compose run web rails generate controller welcome index
routing을 변경합니다.$ vim config/routes.rb
config/routes.rb# get 'welcome/index'
root 'welcome#index'
그리고 방문하면 용기 쪽도 바로 반영됩니다.http://localhost:3010/
rails+mysql 상황
참고.
위 단계
$ vim docker-compose.yml
까지 동일합니다.docker-compose.yml
version: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: hogehoge
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3011:3000"
depends_on:
- db
주의environment:
MYSQL_ROOT_PASSWORD: hogehoge
이 부분이 없으면 시작할 때 다음과 같은 오류가 발생합니다 여기..db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
다음 작업을 수행하려면 단계로 돌아갑니다.$ docker-compose run web rails new . --force --database=mysql --skip-bundle
rails newすると生成されるファイルなどが生成されているか確認する
$ ls -l
$ vim Gemfile
# 以下の行のコメントアウトを外す
gem 'therubyracer', platforms: :ruby
$ docker-compose build
$ vim config/database.yml
config/database.ymldefault: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: hogehoge
host: db
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
$ docker-compose up
다른 단말기에서$ docker-compose run web rake db:create
참고 자료에 액세스하면 다음 페이지가 표시됩니다.주의
$ docker-compose up
에서 다음과 같은 오류가 발생하면 http://localhost:3011/에 기재된 대로 tmp/pids/server.pid
를 삭제하면 시작할 수 있습니다.web_1 | => Booting Puma
web_1 | => Rails 5.0.0 application starting in development on http://0.0.0.0:3000
web_1 | => Run `rails server -h` for more startup options
web_1 | A server is already running. Check /myapp/tmp/pids/server.pid.
web_1 | Exiting
myappm_web_1 exited with code 1
Reference
이 문제에 관하여(rails 환경을 준비하는 여러 가지 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ynii/items/62d65ac7c80ef9bdd1a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)