npm i (npm install)
でライブラリをインストールする際にどんなことに注意するべきなのかをまとめておく。
目次
npm installをするときに注意したいポイント
ライブラリの信頼性を確認する
まずはインストールしようとしているライブラリが信頼できるものかを確認しよう。
npmの公式サイトから使用したいライブラリを検索することができる。そうすると以下のような情報を確認することができる。
- Githubのリポジトリ
- リポジトリに遷移してスター数を確認してみる。
- ライブラリの公式ホームページ
- ダウンロード数
- npm公式ではWeeklyDownloadsが確認できる。
- 開発者
- 最終更新日
- 最近更新されているかを確認する。更新がされていない場合は何か問題が解決されていないかもしれない。
ライブラリのセキュリティを確認する
まずは信頼できる開発者によるものなのかを確認しよう。上記で解説したnpm公式から開発者のプロフィールなどを参考にする。
次に、人気のあるライブラリでもセキュリティリスク(脆弱性)が潜んでいる場合がある。
npm audit コマンドでセキュリティチェック
npm audit
このコマンドでプロジェクトに存在するライブラリの脆弱性を確認することができる。実際にこのコマンドを実行したい際の挙動や、脆弱性に対する対処などはこの記事では割愛するため各自ググっていただきたい。
ライブラリの互換性を確認する
プロジェクトで導入しているNode.jsのバージョンによっては動作しないライブラリがある。そのためプロジェクトのNode.jsのバージョンを互換性があるのかを確認する。
ちなみにこの互換性があるのかどうかはpackage-lock.jsonで確認できるっぽい。
"engines": {
"node": ">=10"
},
このeiginesフィールドにNode.jsに必要なバージョンが記載されている。
果たして本当に必要なのかを見極める
果たしてこのライブラリは本当に必要なのかどうかを見極める必要がある。なぜなのかは以下のような理由があると思う。
- 不要なライブラリを導入すると、プロジェクトが重くなりメンテナンスコストが増える。
- 単純な処理とかなら自前で実装できないか検討する。
- 特にフロントエンドアプリケーションにおいて依存するライブラリが大きいとパフォーマンスに影響がある。
- 例えば、ライブラリが内部的に複雑な構図になっていたりすると、ブラウザのメモリ消費量が増加して低スペックなデバイスではアプリが遅くなったりすることがあるらしい。(他にもいろいろあるから調べてみて)
ライセンスを確認する
ライセンス、使用条件を確認しよう。これもnpm公式などで使用したいライブラリを検索すれば下の方にライセンスに関する記述がある。
nodemon
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology. As a permissive license, it puts only very limit...
nodemonというライブラリだったらこんな感じでライセンスに関するページが用意されている。
その他
その他にも確認しておきたいことをざっと書いておく。
- 開発専用か本番環境でも使用するものか
- 長期的にメンテナンスされそうなものか
- プロジェクトが長期的であれば使用するライブラリも長く使われそうなものがいいよね。
多分ほかにもいろいろあると思います。
がんばりましょう!