【パッケージツール】npmとは?初心者が使い方を調べて見た

npmについて

アプリケーションエンジニアなら、一度は「npm ~~ 」とかいうコマンドをうつことが多々ありますよね。初心者である私は始めこのnpmというのは?となったので調べてみることにしました。

npmとは

「node.jsのパッケージを管理するライブラリ」です。ちなみにこのnpmというのは「node package manager」の略です。

node.jsとは

サーバーサイドで動くJavaScript です。本来JavaScriptはクライアント側、フロント側で動く言語ですがこれをサーバーサイドで動けるようにしたものです。ふーんって感じだと思いますが、そもそも昔はJavaScriptはフロント側で動かすものとして作られたものなので、当時は割と画期的な言語だったそうです。その理由の1つはjavascriptしか書けない人はfront側しか書けないというのを根底から覆したからだと思います。

node.jsを使うメリット

本来クライアント側で処理を行なっていたものをサーバーサイドで処理を行うことで以下のメリットが生まれます。

➀膨大なデータ処理に対応できる

➁処理速度の向上

npmの命令はpackage.json

npmnode.jsを操作する命令を記述するファイルとしてpackage.jsonというファイルがあります。ここに必要な設定事項やインストールするライブラリなどを書き込みます。

↑は実際のpackage.jsonの一部です。

 

package.jsonについて

先ほど解説したように、package.jsonには使用するライブラリを書いていきます。ちなみにライブラリって日々アップデートがされることが多い。というのはご存知ですか?これはライブラリの開発者がバグを発見し、修正が施されたりするからです。なのでpackage.jsonでversionが上がった時に、最新のものをとってきてくれるように設定することも可能です。ですが、versionを上げすぎてしまうと他のライブラリとの互換性がなくなってしまい、エラーが起きるという事態もありえます。これを回避するために、versionの上げ具合をコントロールするpackage.jsonのその書き方があるので一部紹介します。

チルダ表記

チルダ表記は "@mdi/font": "~3.8.95", といったように ~で書かれた書き方のことを指します。指定したversion以下の更新を許可します。

まずpackage.jsonの書き方で「.」が2つあると思うのですが、これは意味があります。major.minor.patch といったようにversionの変化の具合が桁によって代わります。majorが大きなverison upで、patch が小さなversion up といった感じです。今回のチルダ表記の場合は上のサンプルのようなversionの指定になります。~1とした場合は1.1.0 <= x <2.0.0の範囲で最新のバージョンを取得します。

キャレット表記

キャレット表記 ^一番左の桁は変えないという指定の仕方になります。

 

npmコマンドでパッケージをインストール

以下のコマンドでpackage.jsonに記述されたライブラリ等をインストールすることができます。

このコマンドはお馴染みではないかと思います。gitでpackage.jsonを含むファイルをcloneして、ローカルでこのコマンドを叩いて、package.jsonで書かれている環境を構築するといったフローですね。

 

npmなどを勉強する上で

参考サイト

【いまさらですが】package.jsonのversion指定 - Qiita
package.jsonの`dependencies`や`devDependencies`に依存するパッケージを指定することができます。 いまさらですが、そのパッケージのversionの指定方法についてまとめます。 ##vers...

 

絶対読むべき参考書

今回の記事とは少し話題が逸れますが、ネットワークなんかの知識もしっかり抑えて置くのが、高収入エンジニアになる上で不可欠です。TCP/IPといわれて「?」ってなった初心者エンジニアの方は絶対読むべき本です。

 

タイトルとURLをコピーしました