プログラミング講座

【Node.js】Herokuでnpm installを実行する(package.json)

 

とうふ
とうふ
こんにちは、とうふです!

今回は、

  • HerokuでNode.jsを使うための設定
  • npm installを実行する方法
  • パッケージを指定する管理ファイル「package.json」の作成方法

を解説していきます!

Herokuの管理画面やコマンドを実行するだけなので、とっても簡単です。
それでは早速やってみましょう!

npmとは

npmとはNode Packaged Modules(ノードパッケージドモジュールズ)の略で、Node.jsのライブラリやパッケージを管理することができるツールです。

管理ファイルであるpackage.jsonにインストールしたいパッケージを記述しておくことで「npm install」が実行されるときに指定のものをインストールしてくれます!

とうふ
とうふ
PHPのComposerと同じような役割のパッケージマネージャだよ…!

npmは基本的にNode.jsと一緒にインストールされており、バージョンは下記コマンドで確認できます。

$ npm --version

 

HerokuでNode.jsを使う方法

Herokuでnmp installを実行する

HerokuでNode.jsのビルドパックを指定していれば、自動的にデプロイ時に「npm install」を実行してくれます。

HerokuにNode.jsを追加する

HerokuのビルドパックにNode.jsを追加していない場合は

  • Herokuにログインして
    「Setting > Buildpacks」から「heroku/nodejs」を追加
  • ローカル環境で
    「$ heroku buildpacks:add heroku/nodejs」コマンドで追加

などでビルドパックを追加しておいてしてくださいね。
これでHerokuでNode.jsが使えるようになります!

package.jsonの作り方

① まずは、Herokuアプリを作っているローカルディレクトリで作業します。
以下のコマンドを実行すれば、package.jsonが作成されます。

$ npm init

② 次に、Herokuで使いたいパッケージをインストールします。
その際に「–save」オプションを付けることで、package.jsonにパッケージの情報を自動的に記述してくれます。
(※グローバルオプション「-g」を付ける場合は自動で記述されません。)

$ npm install --save パッケージ名

上記を実行すると「package-lock.json」というファイルと
「node_modules」というディレクトリが作成され、パッケージファイルが保存されます。

③ 「node_modules」ディレクトリは以下はgitで管理外にするので、以下を追記します。

.gitignore
/node_modules/*

④ 後は通常の手順通り、ここまでのファイルをHerokuにpushしてデプロイします。
デプロイ時に、以下のように「npm install」している旨のメッセージが表示されるはずです。

remote: -----> Building dependencies
remote:        Installing node modules (package.json + package-lock)
remote:        audited 88 packages in 0.953s
remote:        found 0 vulnerabilities
remote:        
remote:        
remote: -----> Caching build
remote:        - node_modules

これで、Herokuにパッケージをインストールすることができました!
追加したいパッケージがあれば、②から同じ手順で追加&デプロイすればOKです。

まとめ:HerokuとPHPで開発からデプロイする方法

いかがでしたでしょうか?
Composerを触ったことがあれば、同じ要領で使える内容だったかと思いますが、知らない人でも比較的簡単に実行できたのではないでしょうか?

HerokuならPHPでWebアプリを簡単に作って公開することもできます。

これからもHerokuについての記事を更新できたらと思っています。
それではまた次回〜!

とうふ
とうふ
最後までお読みいただきありがとうございました…!