Warning: reset() expects parameter 1 to be array, boolean given in /home/users/2/mods.jp-makoto-tanaka/web/wordpress/wp-content/themes/xeory_base/lib/functions/head.php on line 143
このエントリーをはてなブックマークに追加

読了: 約 4 分

Node.jsの実行させるためにHerokuを使ってみましたのでその時のメモ。

はじめに

Herokuのサインアップはこちらから。

Herokuとは

クラウドベースのアプリケーションホスティングサービスです。
WEB開発から公開までを出来るプラットフォームです。

詳細は既に書かれている方がいたので、こちらから。
参考http://gihyo.jp/dev/serial/01/nodejs/0005

どうでもいいことですが、email送る時の背景が日本!

公開までの簡単な流れ

まずheroku toolbeltのインストール。
インストール後はターミナルから下記コマンド

$heroku login
Enter your Heroku credentials.
Email: メールアドレス
Password (typing will be hidden):
Could not find an existing public key.
Would you like to generate one? [Yn] y

herokuの開発者用サイト

ここまでで基本は終了。

すでにアプリケーションを作成している方はそれをherokuに上げてみてください。

以下アプリケーションがない方。
herokuの本サイトにもありますが、下記のコマンドを実行して、
アプリケーションのサンプルをherokuにアップロードします。

git clone git://github.com/heroku/ruby-sample.git
cd ruby-sample
heroku create
git push heroku master
heroku open

サンプルをアップしたサイト

ここからはざっくりアプリケーションの作成をメモ

forever

foreverはnpmの中に提供されており、モジュールとともにコマンドも同時に提供されています。

sudo npm install -g forever

第2回 パッケージ管理npmとアプリケーションの永続化

foreverについて

jadeとejs

nodeのviewの中のテンプレートではjadeとejsが使われます。
最近だとどちらが需要が高いんですかね。
とりあえず自分はstylusやlessと似ている記述法が出来るjadeを使っています。

ただjadeの書き方に慣れていなかったので、html・jadeの相互変換ツール
でさくっと創ってみました。

jadeのテンプレート側でforeachを書く方法

index.jade template側

  ul
    - items.forEach(function(item){
      li
        p #{item.text}
    - })

app.js

var items =function(item){
	[
	    { "text": "1st Post." }
	  , { "text": "2nd Post." }
	];
}

環境構築

homebrewインストール

homebrew commandを使用するためにはまずインストールが必要なので下記のサイトから
コマンドを打って入れます。

homebrew本サイト

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
mkdir homebrew && curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew

mongodb

インストールは本サイトから

Summaryのところに下記があるか確認(バージョン毎に違います。)
/usr/local/Cellar/mongodb/2.4.0-x86_64

後の説明は省きますが、後は作成したアプリケーションを上記のサンプルをあげたような形で、
pushすれば問題ないと思います。

herokuを使用する際に使うコマンド

ちなみにアプリケーションの作成で少しつまったのが、
node -vでnodeのバージョンを確認したところ -v 0.8.20と表示されたのでpackage.jsonをそのように書き換えたら
エラーが下記のように出て、0.8.19に戻したところちゃんとdeployされました。

Node.js app detected
-----> Resolving engine versions
 !     Requested engine node version 0.8.20 does not match available versions: 0.10.3 0.10.2 0.10.1 0.10.0 0.8.23 0.8.22 0.8.21 0.8.19 0.8.14 0.8.13 0.8.12 0.8.11 0.8.10 0.8.8 0.8.7 0.8.6 0.8.5 0.8.4 0.8.3 0.8.2 0.8.1 0.8.0 0.6.20 0.6.18 0.6.17 0.6.16 0.6.15 0.6.14 0.6.13 0.6.12 0.6.11 0.6.10 0.6.8 0.6.7 0.6.6 0.6.5 0.6.3 0.4.10 0.4.7
 !     Heroku push rejected, failed to compile Node.js app

サンプル

heroku login

heroku create application name

git init

git add .

git commit -m 'commit message'

heroku keys

heroku keys:add ~/.ssh/id_rsa.pub

heroku open

SNSでもご購読できます。

運営メディア

男性向けお役立ちメディア Coolhomme
就職・転職、エンジニア転職向け求人サイト Rplay
'