UbuntuでRuby on rails環境を構築
7671 ワード
新しい技術を学ぶには、まずこの技術の大まかな状況を理解する必要があります.技術の優位性は何ですか.なぜ彼を選んだのか、同類の技術と比較してどんな優位性があるのか.
railsを学ぶのは、主にここ1年ずっとウェブサイトの架設の方面の事をしているためで、使ったウェブアーキテクチャもずっと大型のウェブサイトのSSHを構築するために用いて、開発効率ですが、短期プロジェクトの小型プロジェクトにとってあまり適切ではありませんので、開発効率を高める計算を学ぶことにしました.最初に選択した範囲はLAMP、Django、RubyOnRailsですが、PHPはあまりにも一般的で、トレンドの方向ではありません.DjangoはORMではよくありません.Pythonはオブジェクト向けの言語ではありません.だから、転換の難易度などの要素を総合的に考慮して、最終的にrailsを学ぶことを決定します.
上の問題を解決した後、基本的にこの技術を学ぶことを決めました.次の最初の作業は開発環境の構築です.
環境の選択
ネット上では、LinuxやMaxOSの下で開発し、windowsを捨てるようにしています.具体的な原因は私もよく分かりませんが、自然だと思います.そうしましょう.私のLinuxはUbuntu 12.04 LTS Serverです.
Ubuntu Serverシステムの構成
国内サーバーの場合は、網易のソースを変更することをお勧めします.
railsを学ぶのは、主にここ1年ずっとウェブサイトの架設の方面の事をしているためで、使ったウェブアーキテクチャもずっと大型のウェブサイトのSSHを構築するために用いて、開発効率ですが、短期プロジェクトの小型プロジェクトにとってあまり適切ではありませんので、開発効率を高める計算を学ぶことにしました.最初に選択した範囲はLAMP、Django、RubyOnRailsですが、PHPはあまりにも一般的で、トレンドの方向ではありません.DjangoはORMではよくありません.Pythonはオブジェクト向けの言語ではありません.だから、転換の難易度などの要素を総合的に考慮して、最終的にrailsを学ぶことを決定します.
上の問題を解決した後、基本的にこの技術を学ぶことを決めました.次の最初の作業は開発環境の構築です.
環境の選択
ネット上では、LinuxやMaxOSの下で開発し、windowsを捨てるようにしています.具体的な原因は私もよく分かりませんが、自然だと思います.そうしましょう.私のLinuxはUbuntu 12.04 LTS Serverです.
Ubuntu Serverシステムの構成
国内サーバーの場合は、網易のソースを変更することをお勧めします.
sudo vi /etc/apt/sources.list
と入力し、その内容を次のように置き換えます.deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
注意:ソースは交換しなくてもいいです.このように交換の目的は、理論的にダウンロード速度が速いだけです.
次のように更新します.$ sudo apt-get update
必要な3つのライブラリのインストール$ sudo apt-get install -y wget vim build-essential openssl libreadline6 libreadline6-dev libmysqlclient-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev libcurl4-openssl-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev nodejs libpq-dev
Rubyのインストール、Railsおよび関連
RVMのインストール$ curl -L https://get.rvm.io | bash -s stable $ echo'[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc $ source ~/.bashrc $ source /etc/profile.d/rvm.sh $ rvm -v
Rubyのインストール
国内サーバーの場合は、RVMのインストールソースをTaobaoのミラーサーバーに置き換えることをお勧めします.これにより、インストールがより高速になります.$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db
上のコマンドが間違っている場合は、次のコマンドを試してみてください.$ sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!'$rvm_path/config/db
RVMでRubyをインストールする:$ rvm pkg install readline openssl $ rvm install 2.0.0 $ rvm use 2.0.0 --default $ ruby -v ruby 2.0.0p247
国内サーバーはRubyGemsの宝を洗うミラーを交換することを推薦します:*** CURRENT SOURCES ***http://ruby.taobao.org$ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ $ gem sources -l
: ,
Railsのインストール$ gem install rails $ rails -v Rails 4.0.0
注意:インストールが完了した後、PATHは更新されていない可能性がありますので、必ずecho$PATHを見てください.変更があれば、bashを開いて、echo$PATHを入力して、変更するかどうかを見てください.もしなければ、PATHの変更が必要です.具体的な方法はたくさんあります.ネットで調べてください.
rails-vでは、次の問題が発生する可能性があります.root@localhost:/home/baojinhong# rails -v /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'railties' (>= 0) among 14 total gem(s) (Gem::LoadError) from /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec' from /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem' from /usr/local/rvm/gems/ruby-2.1.1/bin/rails:22:in `
' from /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval' from /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in ` '
この問題はもう一度詰め直せばいいのに,なぜか分からない.
railsテストインストールの開始
最初のRailsアプリケーションの作成を開始
まずコマンド列ウィンドウ(Terminal)を開き、ディレクトリを探してRailsの案件を置くとprojects
と言います.$ mkdir projects$ cd projects
次に、次のコマンドを入力するとdemoというRailsの案件が作成されます.$ rails new demo
作成されたディレクトリがdemoではなくnewである場合、Railsバージョンが旧バージョンであることを示します.rails -v
を入力してRailsバージョンが3.0以上であることを確認してください.そうでなければ、前章末に戻ってgem install rails
インストールRails 3を実行してください.
次のメッセージは、すべてのファイルが追加されたことを示します.create create README create Rakefile create config.ru create .gitignore create Gemfile create app ...( )... create vendor/plugins create vendor/plugins/.gitkeep
これによりdemoディレクトリが作成され、次に進みます.$ cd demo
このディレクトリの下にはRailsの案件で基本的に使用されるディレクトリ構造とファイルが含まれています.簡単に訪問してみましょう.ls
(Windowsの読者はdirを入力してください)を入力して、このディレクトリの下のファイルを表示します.
ファイル/ディレクトリ用途Gemfile RailsアプリケーションがどのGemsスイートREADMEを使用するかを設定します.アプリケーションがどのように使用されているか、どのように使用されているかなどを他の人に伝えることができます.Rakefileは、コマンド列で実行できるRakeタスクapp/放Controllers、Models、Viewファイルの一部をロードするために使用されます.次の内容は主にこのディレクトリにあります.config/アプリケーション設定ファイル、ルーティングルール、リポジトリ設定などのconfig.ruアプリケーションを起動するためのRackサーバー設定ファイルdb/リポジトリの構造要綱doc/あなたのファイルlib/いくつかのカスタムModuleとカテゴリファイルlog/アプリケーションのLogレコードpublic/ネットワーク上で見ることができる唯一のディレクトリです.これはあなたのドキュメント、JavaScript、CSSとその他の静的ファイルが置かれている場所script/railsという命令と他のscript命令test/ユニットテスト、fixturesおよび統合テストなどのプログラムtmp/一時的なファイルvendor/第3方程式コードを外挂するためのディレクトリ
サーバーの起動
RailsはBundlerというツールを使用して、このRailsアプリケーションのすべての依存スイートをチェックしてインストールするのに役立ちます.入力してください.$ bundle install
bundle
と入力するだけでbundle install
になります.Gemfileというファイルを変更するたびに、bundle
を再実行する必要があります.
最初の起動時にプラグインのインストールを待つ必要があります
現れるFetching source index for http://rubygems.org/...Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
開発用のパソコンでは、Apache、IISなどのWebサーバーをインストールする必要はありません.Ruby自体にはHTTPサーバーが用意されています.Railsを実行するには、コマンドウィンドウを開き、cdを作成したばかりのRailsプロファイルディレクトリに入力してrails serverを入力します.$ cd projects/demo$ rails server
次のメッセージが表示されます.=> Booting WEBrick=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000=> Call with -d to detach=> Ctrl-C to shutdown server[2012-09-30 04:23:28] INFO WEBrick 1.3.1[2012-09-30 04:23:28] INFO ruby 1.9.3 (2012-04-20) [x86_64-darwin12.1.0][2012-09-30 04:23:28] INFO WEBrick::HTTPServer#start: pid=18615 port=3000
rails serverはrailsと略記できます
Ubuntuジョブシステムを使用している方は、サーバー起動時にCould not find a JavaScript runtimeのエラーが発生した場合は、Gemfileというファイルにgem 'therubyracer'
行を加え、bundle install
と入力してこのスイートをインストールし、rails server
をもう一度起動してください.これは、UbuntuジョブシステムにJavaScript直訳器がRailsに使用できるようにプリセットされていないためです.Nodeを装うことができますjsまたはtherubyracerというRubyスイートをインストールしてJavaScript直訳器を取得します.
次にブラウザを開けてhttp://localhost:3000Railsのプリセットのトップページが表示されます.このWelcome Aboardの画面では設定に間違いがないことを確認できます.About yourアプリケーション's environmentハイパーリンクをクリックすると、より多くの環境情報が表示されます.
サーバーを中断するには、Ctrl+Cを押してください(機能しない場合はCtrl+Zを変更してください).開発モードではconfigやvenderディレクトリのファイルを変更して再起動する必要があるほか、他の変更は通常再起動する必要はなく、変更したファイルは自動的に再ロードされます.Productionの正式なオンラインモードであれば、どのファイルを修正してもサーバーを再起動しなければ効果がありません.