Help us understand the problem. What is going on with this article?

Node.js + MongoDBを導入する

More than 1 year has passed since last update.

始めに

Homebrewの導入は済んでいる前提で進めていきます。
まだ導入していない方は調べて、インストールしてから以下に進んでください。

環境

macOS Sierra 10.12.6
Homebrew 1.3.4

Nodebrew導入

Node.jsのバージョン管理ソフトNodebrewを入れます。
NodebrewはHomebrewのパッケージとなっていますのでインストールしましょう。

$ brew install nodebrew

インストールしたら起動します。

$ nodebrew setup

この時にパスを設定するようにターミナルに表示されると思うので、その通りにパスを設定します。

\$ echo "export PATH=\$HOME/.nodebrew/current/bin:\$PATH" >> ~/.bash_profile
\$ source ~/.bash_profile

これでNodebrewの導入が完了しました。

Node.js導入

さて、それではNodebrewを用いてNode.jsをダウンロードします。

$ nodebrew ls-remote

このコマンドでインストールできるパッケージの一覧が見れます。
特に指定がなければ最新版を入れます。

$ nodebrew install-binary latest

latestの部分を先ほどのリストで見たバージョンに変えるとそれぞれのバージョンがインストールされます。最新版でよければこのままで自動的に最新版を探してくれます。

$ nodebrew use latest

インストールした中でどのバージョンを使うか指定します。バージョン切り替える際は、毎回このコマンドが必要ですのでお忘れなく。これでNode.jsの導入は終了です。

npmを使ってNode.jsのライブラリを管理

npm(Node Packaged Modules)とは、Node.jsのライブラリやパッケージを管理するソフトです。
Node.jsに標準で付属しているため既に導入されているはずです。

\$ npm install -g forever
\$ npm install -g express
\$ npm install -g express-generator

それぞれサーバーの再起動を自動で行ってくれるモジュール、上からWebパッケージの雛形を作るライブラリ、それを使うためのコマンドといった風になっています。

\$ express -e firstapp
$ cd firstapp

アプリ名をfirstappとして雛形を作り、ディレクトリに入ります。

$ npm install -d

依存するモジュールファイルをインストールします。

$ forever start bin/www

これでサーバーが立ち上がるので、ブラウザでhttp://localhost:3000を表示するとWebページの雛形が現れるはずです。

$ forever list
$ forever stop bin/www

これらのコマンドで起動しているサーバー一覧を取得して、止めることができます。

これでライブラリを導入してWebページを表示することができました。

MongoDB導入

ここからはMongoDBを導入していきます。
まずはインストールします。

$ brew install mongodb

必要となるディレクトリを管理者権限で作ります。
パスワードを聞かれたらパソコンを立ち上げる時に入力しているパスワードを入力します。

\$ sudo mkdir /var/lib/mongodb
$ sudo touch /var/log/mongodb.log

MongoDBがパソコンの起動とともにバックグラウンドで自動で立ち上がるように設定します。

$ brew services start mongodb

MongoDBとNode.jsを紐づけるためにMongooseというモジュールをインストールします。オプションでgを指定するとうまくいかなかったので注意。

$ npm install mongoose

以上で導入は全て完了しました。
参考サイトでは実際にDBにデータを格納して、表示する部分までやっています。

参考サイト

geek_shanshan
Rails/Vue.js/HTML/CSS/JavaScript
http://shanshan.hatenadiary.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした