ここはホテルからカジノ、アミューズメント施設、何でもあります。 1ヶ月に一回はフィリピンにいく私ですが、最近は本当により楽しめるようになりました。フィリピンは真夏の炎天下になり、すごく体調崩しやすいです。笑
子供も楽しめるアミューズメント施設が多々ありますので、お子さんがいるご家庭でも十分楽しめます。空港から30分もしない場所にローケーションがあるため、3泊でもそこだけで十分に楽しめます。ぜひオススメの場所の1点です。フィリピン初心者でも滞在しやすし、アクセスもしやすいです。
もうすぐ日本も夏ですね!!その前に梅雨がやってきます。最近洗濯が好きになり、暇があれば休みの日に朝から洗濯機を回してます!!
特にバスタオルは好きですね!回しがいがあります!だって私を含め6人のタオルを回すので、それだけで一回転です!もちろん私が洗濯を回す時は、匂いをちゃんと付けます!子供達が喜ぶ程に♪笑
おはようございます☀
良い一日を♪妻がパートに出て、子供達4人と一緒に布団でゴロゴロしています。
今曇ってて妻が今日は洗濯しなくていいって言ってたけど、そろそろ洗濯機回そうかな。
ダウニー奮発して入れまくります✌️笑— 4児パパ (@ARTS_papa) 2017年5月3日
Railsで毎回アプリを作る時にrails newで立ち上げた時に前回まで作成していたプロジェクトのシステムが依存していて、gemやその他諸々邪魔して、新しいRails プロジェクトに干渉しそれを修正するたびに時間をかけていたが、ようやくファイル毎のローカルインストールを知った!
— 4児パパ (@ARTS_papa) 2017年5月13日
目次
1.Railsの嫌なとこ
プログラミング初心者でも、Ruby On Railsはとても学びやすく、書籍とかからもある程度(海外の書籍の数に比べたら、全然ですが)から学べることができるため、プログラミング未経験でもHTMLやCSSといったマークアップ言語を学んだあとは、サーバーサイドに入ることが多いでしょう。
Ruby On Railsは私もすぐに学び始めました。最初はちんぷんかんで、Viewは何?Modelって?え?Controllerって?って感じで、本当に一から学ぶということでした。
そして練習がてらに何度か同じようなアプリの開発をするのだけれども、新しいアプリを起こすために、同じように作っているはずなのに、システムでのrakeやbundlerのバージョンがこれから作るであろうRails ファイルをbundle installするたびに更新してしまい、常に新しいバージョンが付きまとい、今まで作ったファイルを開けて、rake routesコマンドやって見ると、rake aborted!いった具合にエラーが出る。
このようなバージョンが違うために、エラーが起きてしまうのは、解決方法を知らないと、永遠に付きまとい、本当にストレスになってしまう。
今回はタイトルにもあるように、
“Railsで新規プロジェクトを始める時に、前回までのファイルとシステムとが干渉しないようにする方法”をお伝えしたいさせて頂きたい。
システムでの干渉、gemの干渉をさせなければ、スイスイと開発が進めるでしょう。
2.Railsでプロジェクト毎にシステムが邪魔しないようにする。
同じディレクトリ内でお互いのシステムが邪魔しないように、環境を整えましょう!
自分への備忘録としても残しておきたいで、参考までに。
*条件としてrbenvとrailsがシステムにてインストールされている事!!*
1.プロジェクトフォルダを作成しましょう!
ここではDocments内作るとします。
$ cd Documents/
そしてフォルダを作ります!
とりあえずフォルダ名をtest1に致します!
$ mkdir test1
作ったフォルダのディレクトリ下にできたファイルに移動。ここでは”test1″。
$ cd test1
test1 daddy$
Rubyのgemとbundlerを落とし込みます!
$rbenv exec gem install bundler
$rbenv exec gem install bundler
Fetching: bundler-1.15.0.gem (100%)
Successfully installed bundler-1.15.0
Parsing documentation for bundler-1.15.0
Installing ri documentation for bundler-1.15.0
Done installing documentation for bundler after 5 seconds
1 gem installed
$ rbenv rehash インスタールしたものを定義します。
$ rbenv rehash
その次に 、
$ rbenv exec bundle init
Writing new Gemfile to /Users/daddy/Documents/test1/Gemfile
ここでgemfileができますでの、gemfileを編集します!!
エディターを開きましょう!
私はsulimetext3を推奨しています。
gemfileを開けます!
railsの前にあった#(コメントアウト)を外し、バージョンを指定します。
ここでは”4.2.6″にします。ちなみにrailsの後の”,”を忘れずに!
そして保存するのも忘れずに!
そのバージョン指定したrailsをインストールします!
$rbenv exec bundle install –path vendor/bundle
ちょっと時間がかかりますが。
$ rbenv exec bundle install –path vendor/bundle
Fetching gem metadata from https://rubygems.org/……….
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies…
Fetching rake 12.0.0
Installing rake 12.0.0
Fetching i18n 0.8.1
Installing i18n 0.8.1
Fetching json 1.8.6
Installing json 1.8.6 with native extensions
Fetching minitest 5.10.2
Installing minitest 5.10.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching builder 3.2.3
Installing builder 3.2.3
Fetching erubis 2.7.0
Installing erubis 2.7.0
Fetching mini_portile2 2.1.0
Installing mini_portile2 2.1.0
Fetching rack 1.6.8
Installing rack 1.6.8
Fetching mime-types-data 3.2016.0521
Installing mime-types-data 3.2016.0521
Fetching arel 6.0.4
Installing arel 6.0.4
Using bundler 1.15.0
Fetching thor 0.19.4
Installing thor 0.19.4
Fetching concurrent-ruby 1.0.5
Installing concurrent-ruby 1.0.5
Fetching tzinfo 1.2.3
Installing tzinfo 1.2.3
Fetching nokogiri 1.7.2
Installing nokogiri 1.7.2 with native extensions
Fetching rack-test 0.6.3
Installing rack-test 0.6.3
Fetching mime-types 3.1
Installing mime-types 3.1
Fetching sprockets 3.7.1
Installing sprockets 3.7.1
Fetching activesupport 4.2.6
Installing activesupport 4.2.6
Fetching loofah 2.0.3
Installing loofah 2.0.3
Fetching mail 2.6.5
Installing mail 2.6.5
Fetching rails-deprecated_sanitizer 1.0.3
Installing rails-deprecated_sanitizer 1.0.3
Fetching globalid 0.4.0
Installing globalid 0.4.0
Fetching activemodel 4.2.6
Installing activemodel 4.2.6
Fetching rails-html-sanitizer 1.0.3
Installing rails-html-sanitizer 1.0.3
Fetching rails-dom-testing 1.0.8
Installing rails-dom-testing 1.0.8
Fetching activejob 4.2.6
Installing activejob 4.2.6
Fetching activerecord 4.2.6
Installing activerecord 4.2.6
Fetching actionview 4.2.6
Installing actionview 4.2.6
Fetching actionpack 4.2.6
Installing actionpack 4.2.6
Fetching actionmailer 4.2.6
Installing actionmailer 4.2.6
Fetching railties 4.2.6
Installing railties 4.2.6
Fetching sprockets-rails 3.2.0
Installing sprockets-rails 3.2.0
Fetching rails 4.2.6
Installing rails 4.2.6
Bundle complete! 1 Gemfile dependency, 35 gems now installed.
Gems in the group production were not installed.
Bundled gems are installed into ./vendor/bundle.
test1下に、.bundleとvendorというフォルダが自動的に作られます!そして、Gemfile.lockというファイルも作られます!。ここで肝心はのは、$rbenv exec bundle install –path vendor/bundleの –path vendor/bundleです。
–path vendor/bundleは、これはインスタールしたrubyのgemやrailsやbundleをそのフォルダ直下で管理してくれるため、システムに干渉することはないため、バージョンがそれぞれ違う他のフォルダ内のrailsのプロジェクトを干渉することはございません。絶対に忘れないようにしましょう。
ここまでがRailsの他のプロジェクトを邪魔しないようにするための環境構築です。
3.実際にrails newでアプリケーションを作り始める!
先ほど作ったRailsのフォルダにrailsアプリを作ってみよう!
$ rbenv exec bundle exec rails new local_test –skip-bundle
(今回はpostgresqlやmysqlなどのデータベースの指定を割愛します)
o$ rbenv exec bundle exec rails new local_test –skip-bundle
Expected string default value for ‘–rc’; got false (boolean)
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/assets/images/.keep
create app/mailers/.keep
create app/models/.keep
create app/controllers/concerns/.keep
create app/models/concerns/.keep
create bin
create bin/bundle
create bin/rails
create bin/rake
create bin/setup
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/secrets.yml
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/assets.rb
create config/initializers/backtrace_silencers.rb
create config/initializers/cookies_serializer.rb
create config/initializers/filter_parameter_logging.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/session_store.rb
create config/initializers/wrap_parameters.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create lib
create lib/tasks
create lib/tasks/.keep
create lib/assets
create lib/assets/.keep
create log
create log/.keep
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/robots.txt
create test/fixtures
create test/fixtures/.keep
create test/controllers
create test/controllers/.keep
create test/mailers
create test/mailers/.keep
create test/models
create test/models/.keep
create test/helpers
create test/helpers/.keep
create test/integration
create test/integration/.keep
create test/test_helper.rb
create tmp/cache
create tmp/cache/assets
create vendor/assets/javascripts
create vendor/assets/javascripts/.keep
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
–skip-bundleを指定する事で、本来rails newで指定した時と同時に発動するbundle installを避けて、ファイルを作成することができます。
エディターを開いてみてみましょう。
rails newで立ち上げたファイル以外のgemfileやbundler環境をターミナルコマンドで削除します。
$ rm -f Gemfile
$ rm -f Gemfile
$ rm -f Gemfile.lock
rm -f Gemfile.lock
$ rm -rf .bundle
rm -rf .bundle
$ rm -rf vendor
rm -rf vendor
このようにしてファイルを消して行きます。
4.Railsアプリを実際に起動してみる
先ほど作ったlocal_testに進みます!
$ cd local_test/
このファイル内でのgemをインストールします。
最初の時点では、
$ bundle install –path vendor/bundle
bundle環境が構築されます。
$ bundle install –path vendor/bundle
Fetching gem metadata from https://rubygems.org/……….
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies…
Fetching rake 12.0.0
Installing rake 12.0.0
Fetching i18n 0.8.1
Installing i18n 0.8.1
Fetching json 1.8.6
Installing json 1.8.6 with native extensions
Fetching minitest 5.10.2
Installing minitest 5.10.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching builder 3.2.3
Installing builder 3.2.3
Fetching erubis 2.7.0
Installing erubis 2.7.0
Fetching mini_portile2 2.1.0
Installing mini_portile2 2.1.0
Fetching rack 1.6.8
Installing rack 1.6.8
Fetching mime-types-data 3.2016.0521
Installing mime-types-data 3.2016.0521
Fetching arel 6.0.4
Installing arel 6.0.4
Using bundler 1.15.0
Fetching thor 0.19.4
Installing thor 0.19.4
Fetching concurrent-ruby 1.0.5
Installing concurrent-ruby 1.0.5
Fetching sqlite3 1.3.13
Installing sqlite3 1.3.13 with native extensions
Fetching sass 3.4.24
Installing sass 3.4.24
Fetching tilt 2.0.7
Installing tilt 2.0.7
Fetching execjs 2.7.0
Installing execjs 2.7.0
Fetching coffee-script-source 1.12.2
Installing coffee-script-source 1.12.2
Fetching turbolinks-source 5.0.3
Installing turbolinks-source 5.0.3
Fetching multi_json 1.12.1
Installing multi_json 1.12.1
Fetching rdoc 4.3.0
Installing rdoc 4.3.0
Fetching byebug 9.0.6
Installing byebug 9.0.6 with native extensions
Fetching debug_inspector 0.0.3
Installing debug_inspector 0.0.3 with native extensions
Fetching tzinfo 1.2.3
Installing tzinfo 1.2.3
Fetching nokogiri 1.7.2
Installing nokogiri 1.7.2 with native extensions
Fetching rack-test 0.6.3
Installing rack-test 0.6.3
Fetching mime-types 3.1
Installing mime-types 3.1
Fetching sprockets 3.7.1
Installing sprockets 3.7.1
Fetching uglifier 3.2.0
Installing uglifier 3.2.0
Fetching coffee-script 2.4.1
Installing coffee-script 2.4.1
Fetching turbolinks 5.0.1
Installing turbolinks 5.0.1
Fetching sdoc 0.4.2
Installing sdoc 0.4.2
Fetching binding_of_caller 0.7.2
Installing binding_of_caller 0.7.2 with native extensions
Fetching activesupport 4.2.6
Installing activesupport 4.2.6
Fetching loofah 2.0.3
Installing loofah 2.0.3
Fetching mail 2.6.5
Installing mail 2.6.5
Fetching rails-deprecated_sanitizer 1.0.3
Installing rails-deprecated_sanitizer 1.0.3
Fetching globalid 0.4.0
Installing globalid 0.4.0
Fetching activemodel 4.2.6
Installing activemodel 4.2.6
Fetching jbuilder 2.6.4
Installing jbuilder 2.6.4
Fetching spring 2.0.2
Installing spring 2.0.2
Fetching rails-html-sanitizer 1.0.3
Installing rails-html-sanitizer 1.0.3
Fetching rails-dom-testing 1.0.8
Installing rails-dom-testing 1.0.8
Fetching activejob 4.2.6
Installing activejob 4.2.6
Fetching activerecord 4.2.6
Installing activerecord 4.2.6
Fetching actionview 4.2.6
Installing actionview 4.2.6
Fetching actionpack 4.2.6
Installing actionpack 4.2.6
Fetching actionmailer 4.2.6
Installing actionmailer 4.2.6
Fetching railties 4.2.6
Installing railties 4.2.6
Fetching sprockets-rails 3.2.0
Installing sprockets-rails 3.2.0
Fetching coffee-rails 4.1.1
Installing coffee-rails 4.1.1
Fetching jquery-rails 4.3.1
Installing jquery-rails 4.3.1
Fetching rails 4.2.6
Installing rails 4.2.6
Fetching sass-rails 5.0.6
Installing sass-rails 5.0.6
Fetching web-console 2.3.0
Installing web-console 2.3.0
Bundle complete! 12 Gemfile dependencies, 56 gems now installed.
Gems in the group production were not installed.
Bundled gems are installed into ./vendor/bundle.
–path vendor/bundleでbundle installをオプション指定すると、gemは./vendor/bundle内で管理され、システム全体のアップデートを回避することができます。
Bundled gems are installed into ./vendor/bundle.
ここまでくればRailsプロジェクトを始める一歩前の開発環境を終え、ようやくRailsでの開発に進めることができるようになります。
それでは早速local_testを起動してみましょう!
ターミナル内でcommand+Tでターミナルの新しいタブを開け、
$ bundle exec rails s
$ bundle exec rails s
=> Booting WEBrick
=> Rails 4.2.6 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2017-05-23 21:54:18] INFO WEBrick 1.3.1
[2017-05-23 21:54:18] INFO ruby 2.3.0 (2015-12-25) [x86_64-darwin16]
[2017-05-23 21:54:18] INFO WEBrick::HTTPServer#start: pid=37186 port=3000
ブラウザで、
localhost:3000とタイプ!
このRails初期の画面が出れば、おめでとうです!!!!!!
お疲れ様でした!!!!
5.プロゲートで十分学べる!でもロカール開発できないのがとても残念
私はプロゲートでプログラミングの基礎を学びました!ドッドインストールでも、学べることがたくさんあったかもしれませんが、やはり私はプロゲートの方がしっくりきたので、とても学び易いのを実感しました。
HTMLとCSSの部分はとても学びやすく、サンプルでの同じコードを用いて自分なりの画像を用意して、開発もしたぐらいです。 ある程度学んでくるとプロゲートさんの有り難みがとても実感できると思います。私は、Railsの”いいね”機能を作るレッスンはとても勉強にさせて頂きました!
でも、どんなにHTMLやCSS,RubyやRailsをプロゲートを学んだとしても、そこからいざ自分自身でプロダクトを作ろとしても、開発環境が揃っていない為に、そこで止まってしまいます!皆さんもそう感じたのではないでしょうか?
確かにRubyやRailsや、他の言語やフレームワークの開発環境の作り方などをグーグルで検索すれば探せますが、プログラミング初心者にとってはどれを参考にしたらいいか全く分からなく、挫折してしまうのがほとんどだと思います。
6.ローカル開発環境の構築に挫折しない
私もそうでしたがプログラミング未経験者や一番最初に悩むのは、いざプログラミングを始めようとしても開発環境が整っていないために、開発環境を構築しなければならなく、そしてそこ自分で解決できないと挫折してしまうのですよね。自分にはやっぱり向いていないと。でも解決すると世界観が変わるよ
— 4児パパ (@ARTS_papa) 2017年5月20日
最近でローカル開発環境でアプリケーションを開発しなくとも、WEB上で開発できるCloud9など有名ですよね。Cloud9はRubyも入っていますし、AI開発やデータサイエンスで話題になっているPythonも手軽に始めることができます。
最近のプログラミングスクールでは、先にCloud9でプログラミングの基礎を教え、それと同時にとりあえずGit(Github)を教える。そうすることで、プログラミング慣れやパソコン慣れをしてから、ローカル環境開発に進めます。
ローカル環境開発が完了すると、gitからForkして、いよいよローカルでの開発ですよね。cloud9のようなWeb上で開発すると、時たま回線が混んでいたり、あるいは場所や国によって、開発環境が不便な時があります。
プログラミング未経験者が最初に出くわすのローカル環境開発のハードルです。とても高いのですよ。私も実感しましたよ。そもそも最初はターミナルって何?から始まりましたけど!笑
もちろんCloud9のいいところもあります。ちょこっと違う言語を学びたなという時は、とても手軽で手っ取り早く、コードを書いてその動きを確認することもできますので。
本日お伝えしました、初期のローカル環境開発の設定は、だいたいどこのプログラミングスクールでも教えてくれません。だいたいrails new〜で、bundle installして〜といった具合に進めるでしょう。
でもこの方法も基礎を教えるのには間違っていません。ただなんどもお伝えしますが、やはり何度もRailsアプリを作り始めるにあたって、いずれシステムが干渉し始めます。
干渉し始めたら、もう大変テンパるでしょう。私もテンパりました。そのおかげで、少しだけですが、たくましくなったのも事実ですが。笑
ぜひ今回お伝えした内容を参考にして頂けら幸いです。
7.記事を読んでくれる人に感謝です。
最近記事を読んでくれる人が多くなり、本当に嬉しい限りです。
これからも精進して参りますので、ぜひ応援して頂けら幸いです!!
今日も子供たちにちょっかいを出されながら、記事を書いています。笑
そんな幸せな1日を送っておりますよ♪
もしよかったら過去の記事を読んで頂けたら幸いです。
グーグルアドセンス広告が表示されない?違反は無いみたいだけど、広告が出ない場合の対処の仕方 – 4児パパ プログラミングを学ぶ
フィリピンでsimフリーを利用して、日本から持ってきた携帯を使おう!空港でsimフリーはタダで配られている!!!
ブログアクセスアップ10%目指そう!はてなブログのカスタムURLは簡単!
Webエンジニア1人とライター1人いれば、ビジネスが成り立つ!!
マインドフルネス(瞑想)をしよう。3分で脳疲労を解消!脳疲労をとることで仕事に活気と生活に安定を♪
プログラミングを始めたら、はてなブログを有効に使おう!プログラマーになり始めたらブログでアウトプットできる!
コメントを残す