目次
【npm】パッケージのupdate方法

今回は、npmでパッケージをupdateする方法を紹介します。
update対象一覧の取得方法や、パッケージ指定update、バージョン指定update、一括updateの方法をコマンド付きで紹介します。
npmのバージョンは以下とします。
|
1
2
|
~$ npm -v
6.13.6
|
興味のある方はぜひご覧ください。
update対象一覧
update対象一覧の前に、インストール済みのパッケージ一覧を取得してみましょう。
インストール済みのパッケージ一覧を取得するには「npm list」コマンドを使用します。–depth=0を付与すると見やすいです。
|
1
2
3
4
5
6
7
8
9
10
11
12
|
~$ npm list --depth=0
ubuntu@1.0.0 /home/ubuntu
├── async@3.2.0
├── expres@0.0.5
├── hubot@3.3.2
├── jquery@2.2.1
├── less@4.1.0
├── pug@3.0.0
├── textlint@11.8.2
├── update@0.7.4
├── upgrade@1.1.0
└── webpack@5.21.2
|
パッケージとバージョンが一覧で表示されます。
このうち、update可能なパッケージ一覧を取得するには、「npm outdated」コマンドを実行します。
|
1
2
3
4
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.1 2.2.4 3.5.1 ubuntu
less 4.1.0 4.1.1 4.1.1 ubuntu
|
この場合、2つのパッケージがupdate可能であることが分かります。
パッケージ指定update
パッケージを指定してupdateする方法を紹介します。update前は以下の状態とします。
|
1
2
3
4
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.1 2.2.4 3.5.1 ubuntu
less 4.1.0 4.1.1 4.1.1 ubuntu
|
パッケージを指定してupdateするには、「npm update パッケージ名」とします。
|
1
|
~$ npm update less
|
update後に、npm outdatedコマンドを実行してみます。updateしたパッケージが表示されなくなりました。
|
1
2
3
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.1 2.2.4 3.5.1 ubuntu
|
バージョン指定update
パッケージおよびバージョンを指定してupdateする方法を紹介します。update前は以下の状態とします。
|
1
2
3
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.1 2.2.4 3.5.1 ubuntu
|
パッケージおよびバージョンを指定してupdateするには「npm install パッケージ名@バージョン」とします。@バージョンを省略すれば最新バージョンになります。
|
1
|
~$ npm install jquery@2.2.4
|
update後に、npm outdatedコマンドを実行してみます。最新化はしていないので、npm outdatedで表示されます。
|
1
2
3
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.4 2.2.4 3.5.1 ubuntu
|
一括update
これまでは、個別パッケージをupdateする方法を紹介しました。ここでは、update可能なパッケージを一括updateする方法を紹介します。update前は以下の状態とします。
|
1
2
3
4
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.1 2.2.4 3.5.1 ubuntu
less 4.1.0 4.1.1 4.1.1 ubuntu
|
package.jsonは以下の状態です。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
~$ cat package.json
{
"name”ubuntu",
"version”1.0.0",
"description”,
"main”index.js",
"scripts": {
"test”echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author”,
"license”ISC",
"dependencies": {
"async”^3.2.0",
"expres”0.0.5",
"hubot”^3.3.2",
"jquery”^2.2.1",
"less”^4.1.0",
"pug”^3.0.0",
"textlint”^11.8.2",
"update”^0.7.4",
"upgrade”^1.1.0",
"webpack”^5.21.2"
}
}
|
一括更新のために、npm updateコマンドを実行します。
|
1
|
~$ npm update
|
npm updateコマンドでは、メジャーバージョンのupdateができません。package.jsonを確認してみます。jqueryが最新化されていません。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
~$ cat package.json
{
"name”ubuntu",
"version”1.0.0",
"description”,
"main”index.js",
"scripts": {
"test”echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author”,
"license”ISC",
"dependencies": {
"async”^3.2.0",
"expres”0.0.5",
"hubot”^3.3.2",
"jquery”^2.2.4",
"less”^4.1.1",
"pug”^3.0.0",
"textlint”^11.8.2",
"update”^0.7.4",
"upgrade”^1.1.0",
"webpack”^5.21.2"
}
}
|
npm outdatedコマンドを実行してみます。メジャーバージョンアップされていないので、jqueryが表示されます。
|
1
2
3
|
~$ npm outdated
Package Current Wanted Latest Location
jquery 2.2.4 2.2.4 3.5.1 ubuntu
|
これを回避して一括更新するためには、npm-check-updatesをインストールします。
|
1
|
~$ npm install -g npm-check-updates
|
次に、ncuコマンドを実行します。「npm outdated」コマンドに相当します。
|
1
2
3
4
5
6
7
|
~$ ncu
Checking /home/ubuntu/package.json
[====================] 10/10 100%
jquery ^2.2.4 → ^3.5.1
Run ncu -u to upgrade package.json
|
次に「ncu -u」コマンドを実行してpackage.jsonを更新します。
|
1
2
3
4
5
6
7
|
~$ ncu -u
Upgrading /home/ubuntu/package.json
[====================] 10/10 100%
jquery ^2.2.4 → ^3.5.1
Run npm install to install new versions.
|
package.jsonの内容を確認してみます。jqueryが最新化されています。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
~$ cat package.json
{
"name”ubuntu",
"version”1.0.0",
"description”,
"main”index.js",
"scripts": {
"test”echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author”,
"license”ISC",
"dependencies": {
"async”^3.2.0",
"expres”0.0.5",
"hubot”^3.3.2",
"jquery”^3.5.1",
"less”^4.1.1",
"pug”^3.0.0",
"textlint”^11.8.2",
"update”^0.7.4",
"upgrade”^1.1.0",
"webpack”^5.21.2"
}
}
|
この時点では、パッケージは更新されていません。
|
1
2
3
|
~$ npm list | grep jquery
├── jquery@2.2.4 invalid
npm ERR! invalid: jquery@2.2.4 /home/ubuntu/node_modules/jquery
|
npm updateコマンドを実行します。これでパッケージが更新されます。
|
1
|
~$ npm update
|
npm outdatedコマンドでupdate可能なパッケージを確認します。
|
1
2
|
~$ npm outdated
~$
|
何も出力されないので、インストール済みパッケージが最新化されたことが分かります。
まとめ
いかがでしたでしょうか。npmでパッケージをupdateする方法を紹介しました。
update対象一覧の取得方法や、パッケージ指定update、バージョン指定update、一括updateの方法をコマンド付きで紹介しました。
ぜひご自身でコマンドを書いて、理解を深めてください。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。















