第 1 章ターミナルの使い方 Ubuntu の場合は同種のソフトウェアに 端末 という名前が付いていますが 本書では OS X に合わせて ターミナル と呼ぶことにします 端末を起動するには Dash *1 に対して term というキーワードを入力し 検索結果の中から 端末 を探してクリックします



Similar documents
再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

PowerPoint プレゼンテーション

1 ログインとログアウト 1.1 ログイン ログイン画面で [ password ] 欄にパスワードを入力します (図 1) 図 1 ログイン画面 正しくログインができると Ubuntu のデスクトップ画面 図2 が表示されます 図2 Ubuntu デスクトップ画面 2

Studuinoソフトウェアのインストール

Microsoft Word - CygwinでPython.docx

Microsoft Word - Python利用環境構築ガイド_ docx

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Ubuntu Trusty 用 版 2017 年 2 月 23 日 Copyright (C) Japan Medical

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

Windows 7ファイル送信方法 SMB編

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

How-to-Use-Mac.pages

利用者

PowerPoint Presentation

Microsoft PowerPoint - スハ?コン利用入門_ _UNIX利用の基礎知識.pptx

グーグル検索マクロの使い方

フィルタとは

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4.

Windows 版 SAS 9.3 ライセンス適用の手引き

MAPインストーラー起動時のエラーメッセージへの対処方法

スライド 1

0_テキストマイニング環境構築_mac

PowerPoint プレゼンテーション

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

8. Windows の補足情報 コマンドの使用についての説明です Windows からのファイル直接印刷 Windows でコマンドを使用したファイル直接印刷の方法についての説明です この機能はネットワーク接続をしているときに使用できます この方法で印刷できるファイルは 本機が搭載しているエミュレ

MF mypresto インストールガイド 目次 新規インストールの手順 (Windows 版 )... 2 MF mypresto の起動 (Windows 版 )... 7 新規インストールの手順 (Mac 版 )... 8 MF mypresto の起動 (Mac 版 ) 新規イン

これらの情報は 外部に登録 / 保存されることはございません 5 インターネット接続の画面が表示されます 次へ > ボタンをクリックしてください 管理者様へ御使用時に設定された内容を本説明文に加筆ください 特に指定不要で利用可能であった場合は チェックボックスを オフ していただきますようご案内くだ

演習に必要な

Microsoft Word - CMSv3マニュアル-STB編(WindowsPC).docx

プリンタードライバーのインストール 本機では Linux 用プリンタードライバーをコンピューターにインストールするためのインストーラー (RPM パッケージ ) を用意しています このインストーラーを使用して プリンタードライバーのインストール およびアップグレードができます プリンタードライバーイ

ご利用になる前に ここでは しんきん電子記録債権システム をご利用になる前に知っておいていただきたいことがらについて説明します 1 ご利用環境と動作条件の確認 2 2 初期設定とは 4 3 ソフトウェアキーボードの使いかた 6

Windows2000/XPインストール手順

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

WinXp-Rmenu

PowerPoint プレゼンテーション

EV3 の初期設定

Sophos Enterprise Console

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Microsoft Word - macマニュアル【 】.doc

ソフトウェアの更新ユーザーガイド

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

eYACHO 管理者ガイド

CS-DRC1操作説明書

厚生労働省版ストレスチェック実施プログラムバージョンアップマニュアル (Ver2.2 から Ver.3.2) 目次 1. プログラム概要 バージョンアップ実施手順 要注意 zip ファイル解凍の準備 Windows によって PC が保護されました と

ColorNavigator 7インストールガイド

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

V-Client for Mac ユーザーズガイド

KADIAS Mac OS X 用事前環境準備手順書

CubePDF ユーザーズマニュアル

Si 知識情報処理

WinXp-Rmenu

Microsoft Word - Word1.doc

ダウンロードページアップデートマニュアル.ppt

HP Primeバーチャル電卓

prg.indb

情報処理概論(第二日目)

オートビュー

Windows XPファイル送信方法 SMB編

2 Web ページの文字のサイズを変更するには 以下を実行します Alt + P キーを押して [ ページ ] メニューを選択します X キーを押して [ 文字のサイズ ] を選択します 方向キーを押して 文字のサイズを [ 最大 ] [ 大 ] [ 中 ] [ 小 ] [ 最小 ] から選択します

V.ブラウザの使い方

第21章 表計算

<4D F736F F D208D C8FEE95F18DEC90AC A B D836A B2E646F63>

V-CUBE One

Confidential

ColorNavigator 7インストールガイド

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

k_seminar_hands_on_for_linux_beginner.pptx

プログラミング実習I

Ⅴ ブラウザーの使い方 V. ブラウザーの使い方 起動 終了 画面説明 ホームページ移動 リンクを使って移動 アドレスバーからの移動 ボタンでの移動

PowerPoint Presentation

ユーザーズマニュアル 神戸親和女子大学情報処理教育センター 年 4 月版

TOMOYO Linuxを体験しよう

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

2018/10/24 更新 IT サポートオフィス ソフトウェアのインストール (Mac OS) ダウンロードした認証プログラムを実行し パソコンにインストールします 前提条件 ネットワークに接続し Download Station サーバーと通信が可能である必要があります Mac OS の場合 M

インストールマニュアル

環境セットアップ

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

Taro-ラズパイのインストールと設定

Rインストール手順

Flash Loader

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

クイックマニュアル(利用者編)

1 Word2007 を立ち上げて 表を作って内容を入力し 体裁を整える 1 時間の関係で あらかじめ下記のような簡単な文書を作成して デスクトップにファイル 旅行案内操作前 1 を置いてありますからこのファイルをダブルクリックして開いて下さい (* 時間のある方は末尾に表の挿入方法などを参考に書い

目次 1. ログイン ログアウト デスクトップ ( 例 :Word Excel 起動中 ) Dock( 例 :Word Excel 起動中 ) Finder ウィンドウ メニューバー ( 例 :Word 起動中 )...

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

SideAceユーザーズガイド

正誤表(FPT1004)

SHOFU SureFile for DentalX Manual

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

Microsoft Word - index.html

セットアップの流れ Graphtec Pro Studio を使用する SAi Cloud へのユーザー登録 1-1 SAi Cloud へのユーザー登録 Graphtec Pro Studio のインストール 1-2 Graphtec Pro Studio のインストール Cutting Mast

miChecker導入手順書

ランタイム版 Pro 版共通 症例登録システム 2018/12/11 Q & A 目次 1. 起動時のエラー... 2 Q11. " ファイル jsgoe_data3.fmp12 を開くことができません" と表示されます (Windows) 2 Q12. ショートカットから起動できません (Wind

kantan_C_1_iro3.indd

Microsoft PowerPoint - InfPro_I6.pptx

Transcription:

第 1 章 ターミナルの使い方 Rails による Web アプリ開発では ターミナルというソフトウェア が重要な役割を果たします 本章では ターミナルの起動方法とシェ ルコマンドの実行方法について学習します 1.1 ターミナルの起動方法 OS X にはターミナルというソフトウェアが標準で備わっています Finder の アプリケーション ユーティリティ からターミナルを起動できます 図 1.1 のような外観をしています 図 1.1 OS X のターミナル 1

第 1 章ターミナルの使い方 Ubuntu の場合は同種のソフトウェアに 端末 という名前が付いていますが 本書では OS X に合わせて ターミナル と呼ぶことにします 端末を起動するには Dash *1 に対して term というキーワードを入力し 検索結果の中から 端末 を探してクリックします *2 その外観は図 1.2 のようになります 図 1.2 Ubuntu の標準ターミナル 1.2 シェルコマンドの実行 私たちはこのターミナルを用いてコマンド ( command) を入力します コマンドを入力した後で Enter キーを押すことを コマンドを実行する と表現します ターミナルに入力されたコマンドを解釈し OS を操作するソフトウェアをシェル ( shell) と呼びます シェルはターミナルの上で動いています シェルには sh tcsh zsh など多数の種類がありますが OS X と Ubuntu の標準シェルは bash です シェルが受け付けるコマンドを特にシェルコマンド ( shell command) と呼びます 本書では シェルコマンドを次のような書式で表示します *1 Ubuntu のデスクトップ左上隅にある Ubuntu ロゴマークをクリックするとアプリケーションやファイルを検索するウィンドウが現れます これを Dash と呼びます *2 Ubuntu の端末には Ctrl + Shift + T というキーボードショートカットが用意されています キーボードで Ctrl Shit T の各キーを同時に押してください この組み合わせを覚えれば Dash で検索するよりも素早く端末を起動できます 2

1.3 コマンドの本体と引数 $ mkdir work 行頭の $ は シェルがユーザーからのコマンド入力を待っている状態を表す記号で コマンドプロンプト ( command prompt) と呼ばれます 実際にターミナルに表示されるコマンドプロンプトは bash-3.2$ や kuroda@oiax:~$ などの形をしていますが この本の中では単に $ という記号で表します 上記の例では mkdir work がシェルコマンドです 読者の皆さんがターミナルでコマンドを入力する際には 行頭の $ 記号を入力しないように注意してください 1.3 コマンドの本体と引数 コマンドは本体と引数 ( ひきすう ) に分かれます 先ほどの例では mkdir がコマンド本体で work が引数です 英語では引数を arguments と呼びます 数 という漢字を含みますが数値とは無関係で work のようなアルファベットの列 ~ のような記号 100 のような数字の列などを引数として指定できます コマンドの本体と引数の間はスペースで区切ります 複数の引数を指定する場合は 次の例のように引数と引数の間をスペースで区切ります $ mv foo bar このとき foo を第一引数 bar を第二引数と呼びます 1.4 文字列について プログラミング用語で foo や bar のような文字の連なりを文字列と呼び ます 英語では string といいます 3

第 1 章ターミナルの使い方 シェルコマンドの引数として指定したい文字列の中にスペースが含まれる 場合は 次のようにダブルクオート ( ") で囲みます $ echo "Ruby on Rails" ダブルクオートの代わりにシングルクオート ( ) を用いることも可能 です $ echo Ruby on Rails 1.5 sudo コマンド Unix 系 OS には root という名前を持つ特別なユーザーアカウントが存在します root はあらゆるコマンドを実行でき あらゆるファイルを変更 削除できます root で誤った操作を行うとコンピュータに深刻な影響を与えかねないため 文書作成やプログラミングなどの日常的な作業は root 以外の一般ユーザーで行います ここまで私たちがターミナルに入力してきたコマンドはすべて一般ユーザーの権限で実行されています root でないと実行できない ( root 権限の必要な ) コマンドをターミナルで実行したい場合は sudo コマンドに続けてそのコマンドを入力します 試しに ターミナルで次のコマンドを実行してみてくださ $ cat /etc/sudoers すると cat: /etc/sudoers: 許可がありません というエラーメッセージ が表示されます このファイルは root ユーザーの持ち物で 一般ユーザー 4

1.5 sudo コマンド には閲覧権限がありません しかし $ sudo cat /etc/sudoers というコマンドを入力すると [sudo] password for kuroda: とパスワードの入力が求められ あなた自身のパスワードを入力すれば /etc/sudoers ファイルの中身をターミナルに出力することができます なお この sudo コマンドは誰でも自由に使えるわけではありません sudo コマンドを使う権限を与えられていないユーザーがこのコマンドを実行すると 次のようなエラーメッセージがターミナルに表示されます *3 kuroda is not in the sodoers file. This incident will be reported. *3 OS X や Ubuntu の初期設定時に作成したユーザーアカウントには sudo コマンドを使 う権限が与えらています 5

第 12 章 bundle コマンドの使い方 本章では bundle コマンドを用いて Rails アプリケーションが依存 する Gem パッケージ群を一括してインストールまたは更新する方法 について解説します 12.1 Bundler とは Bundler( バンドラー ) は 特定の Rails アプリケーションが依存する ( 必要とする ) Gem パッケージ群を一括してインストールまたは更新するツールです 正確に言えば Bundler は Rails アプリケーション専用のツールではな く Ruby 言語で書かれたあらゆるアプリケーションで使用できます Rails アプリケーションを配布したり 本番環境にデプロイ ( 設置 ) したりするとき Bundler が重要な役割を果たします また 複数人からなるチームで Rails 開発を行うときには Bundler のおかげで全員の開発環境を一致させることができます 75

第 12 章 bundle コマンドの使い方 12.2 bundle コマンド Bundler が提供するシェルコマンドが bundle です 語末の r が抜けている点に注意してください 包む あるいは 束ねる という意味を持つ英語の動詞です 12.2.1 install サブコマンド bundle の install サブコマンドは Rails アプリケーションが依存する Gem パッケージ群を一括してインストールします サブコマンドを省略して単に bundle とだけターミナルに入力すると install サブコマンドが実行されます インストールの流れはソースツリーのルートディレクトリに Gemfile.lock というファイルがあるかどうかで変化します Rails アプリケーションの骨格を作った直後はこのファイルが存在しません Gemfile.lock がない場合 Gemfile というファイルの内容を解析して Gem パッケージ同士の依存関係を調べ できるかぎり新しいバージョンの Gem ファイルの組み合わせをインストールします そして その情報を Gemfile.lock に書き込みます Gemfile.lock がある場合は Gemfile の解析をスキップし Gemfile.lock の情報に基づいて Gem パッケージ群をインストールします あなたが作った Rails アプリケーションのソースコードを別の環境にコピーする際は この Gemfile.lock を含めてください そうすることで 開発の時に利用したバージョンの Gem パッケージ群がコピー先の環境でもインストールされることになります 76

12.2 bundle コマンド Rails アプリケーションのソースコードを第 6 章で紹介した git コマン ドで管理する場合 必ずリポジトリに Gemfile.lock を登録してくだ さい 12.2.2 update サブコマンド bundle の update サブコマンドは Gemfile に記述された Gem パッケージ群の一部または全部を更新します 引数に Gem パッケージのリストを指定すれば それらが更新されます 例えば rails と rake とそれらが依存する Gem パッケージだけを更新するには 次のコマンドを実行してください $ bundle update rails rake 引数を省略すると Gemfile にある全 Gem パッケージが更新の対象とな ります $ bundle update 77

第 12 章 bundle コマンドの使い方 12.3 Bundler の仕組み この節には 少し高度な内容が含まれています Rails の学習を始める にあたっては必ずしも必要ではありませんので 初心者の方はいったん 読み飛ばしても構いません あなたの Rails アプリケーションに新しい Gem パッケージを導入する際に読み返してください 12.3.1 Gemfile ある Rails アプリケーションが依存する Gem パッケージのリストを Bundler が得るための情報源が Gemfile という名前のテキストファイルです 前章で作成した Rails アプリケーション AirBoy のソースコードにも含まれています テキストエディタで開いてみましょう 次に示すのは その Gemfile からの抜粋です ただし シャープ記号 ( #) で始まるコメント行は省略しています source https://rubygems.org gem rails, >= 5.0.0.rc1, < 5.1 gem sqlite3 gem puma, ~> 3.0 gem sass-rails, ~> 5.0 gem uglifier, >= 1.3.0 gem coffee-rails, ~> 4.1.0 Gemfile に書かれているのは Ruby プログラムで 各行の冒頭にある source や gem といった文字列は Ruby のメソッドです source メソッドの引数には Bundler が Gem パッケージをダウンロードする元の URL を指定します この値は基本的に 78

12.3 Bundler の仕組み https://rubygems.org 固定で 変更する必要はありません gem メソッドの第 1 引数には Gem パッケージの名前を指定します 必要に応じて 第 2 引数以降に次節で説明するバージョン指定子 ( version specifier) を指定します Bundler は Gemfile から得られた情報を解析して できるかぎり新しいバージョンの Gem パッケージの組み合わせを見つけ出します ただし すべての Gem パッケージが最新版になるとは限りません Gem パッケージ同士の間にも依存関係があり 古いバージョンの Gem パッケージが必要とされることがあるからです コラム : 依存関係の解決に失敗する場合 bundle コマンドを実行した時 次のようなエラーメッセージが出ることがあります ただし X の部分には任意の Gem パッケージ名が入ります Bundler could not find compatible versions for gem "X": これは Bundler が依存関係の解決に失敗したことを意味します 例えば A および B という二つの Gem パッケージがともに X に依存しているとします もしここで A がバージョン 1.0 以上 2.0 未満の X を要求していて B がバージョン 2.0 以上の X を要求しているならば Bundler は X のバージョンを決定できません このような場合 私たち自身が A をアップグレードしたり B をダウングレードしたりして 調整する必要があります 79

第 12 章 bundle コマンドの使い方 12.3.2 バージョン指定子バージョン指定子は >= のような演算子と 5.0.0.rc1 のようなバージョン番号により構成されます 演算子は =!= > < >= <= ~> の 7 種類です 最後の ~> 以外の演算子の意味は明白です 演算子 ~> は悲観的バージョン演算子と呼ばれ ある Ruby アプリケーションが 未来にリリースされるバージョンの Gem パッケージでも動作することを保証するために使われます 例えば あなたのアプリケーションが Gem パッケージ nokogiri のバージョン 1.6.0 を利用しているとします バージョン 2.0 をリリースするまで nokogiri の作者が Gem パッケージの後方互換性 *1 を維持するだろうとあなたが考えるのであれば Gemfile で次のように書くことができます gem nokogiri, ~> 1.6 悲観的バージョン演算子は バージョン番号の最後の桁のアップグレードだけを許容します このように書いておけば Bundler は nokogiri のバージョン 1.7 や 1.8 がリリースされたらアップグレードするけれど 2.0 がリリースされてもアップグレードしません しかし nokogiri のバージョンを 1.7.0 未満にとどめておきたいのであれば Gemfile には次のように記述します gem nokogiri, ~> 1.6.0 この場合 Bundler は nokogiri のバージョン 1.6.1 がリリースされたら アップグレードするけれど 1.7.0 がリリースされてもアップグレードしま *1 新しいバージョンの Gem パッケージで古いバージョンと同じ機能やデータ形式が使え る状態を 後方互換性 ( backward compatibility) が維持されると表現します 80

12.3 Bundler の仕組み せん 12.3.3 Gemfile.lock bundle コマンドで Rails アプリケーションが依存する Gem パッケージ群を一括してインストールすると ソースコードツリーのルートディレクトリに Gemfile.lock という名前のファイルが作られます Bundler は Gemfile を解析して得られた Gem ファイル同士の依存関係に関する情報をこのファイルに記録します 基本的に私たち Rails プログラマーが Gemfile.lock を書き換えることはないので その中身がどうなっているかを気にする必要はありません ただし ひとつだけ知っておいた方がいい点があります それは Gemfile.lock の末尾につぎのような形式で Bundler のバージョン番号が記録されていることです BUNDLED WITH 1.12.4 私たちが bundle install または bundle update コマンドを実行すると その時点での Bundler のバージョン番号がここに書き込まれます ただし 元々書かれていたバージョン番号の方が新しい場合は 次のような警告メッセージが表示されます Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running gem install bundler. この場合 Gemfile.lock 末尾のバージョン番号は書き換わりません なお gem install bundler コマンドを実行して Bundler をアップグレードすればこの警告は出なくなります 複数人からなるチームで Rails アプリケーション開発を行っている場合 時々この警告を見ることになります あわてずに対応してください 81