package.jsonをまとめてアップデートする方法について
当サイトはAstroJSで生成された静的サイトですが、npmパッケージをそれなりに使用しています。どのパッケージも開発が盛んで、2日に1回は最新バージョンが更新されています。今までは個々にアップデートの対応をしていたのですが、だんだんと大変になってきました。
そこで今回は、package.json 内のパッケージアップデートのおさらいとまとめてアップデートする方法についても解説していきたいと思います。
package.json 内のアップデートを確認する
package.json を表示する
package.json{
"name": "myblog",
"type": "module",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"check": "astro check"
},
"dependencies": {
"@astrojs/image": "^0.16.0",
"@astrojs/rss": "^2.3.0",
"@astrojs/sitemap": "^1.2.1",
"@astrojs/svelte": "^2.1.0",
"@astrojs/tailwind": "^3.1.0",
"algoliasearch": "^4.15.0",
"astro": "^2.1.3",
"date-fns": "^2.29.3",
"dotenv": "^16.0.3",
"instantsearch.js": "^4.52.0",
"remove-markdown": "^0.5.0",
"sharp": "^0.31.3",
"svelte": "^3.57.0",
"tailwindcss": "^3.2.7"
},
"devDependencies": {
"@astrojs/partytown": "^1.1.1"
}
}
package.jsonとは以上の様なファイルですね。私のサイトだと15個のパッケージをインストールして使っています。それではアップデートの確認をしてみましょう。
アップデートを確認するには、npm outdated コマンドを使用します。
$ npm outdated
package.json 内よりも最新のバージョンが公開されている場合は以下のように教えてくれます。
Package Current Wanted Latest Location Depended by
@astrojs/image 0.16.0 0.16.1 0.16.1 node_modules/@astrojs/image myblog
@astrojs/tailwind 3.1.0 3.1.1 3.1.1 node_modules/@astrojs/tailwind myblog
今回だと、@astrojs/image が 0.16.0 → 0.16.1 に @astrojs/tailwind が 3.1.0 → 3.1.1 にアップデートできるようです。 それではアップデートの方法についても確認していきましょう。
1つずつアップデートを行う方法について
先程、アップデートの確認を行ったので次は実際にアップデートをしていきます。
アップデートを行うには、npm install ○○○@latest(○○○ はパッケージ名) コマンドを使用します。 例えば、@astrojs/image をアップデートしたい場合は以下のコマンドになります。
$ npm install @astrojs/image@latest
@astrojs/tailwind をアップデートしたい場合は以下のコマンドになります。
$ npm install @astrojs/tailwind@latest
パッケージ名の後ろに @latest をつけてインストールを行えばいいだけです。簡単ですね。ただこれだと、複数のパッケージをまとめてアップデートすることができません。 複数のパッケージを一括でアップデートする方法についても確認していきましょう。
複数のパッケージをまとめてアップデートする方法について
複数のパッケージをまとめてアップデートするために、npm-check-updates というライブラリを使用します。 まずは npm-check-updates をインストールします。
$ npm i -g npm-check-updates
無事にインストールができたら、アップデートを行ってみましょう。一括アップデートを行うには ncu -u コマンドを使用します。
$ ncu -u
package.json 内のパッケージが最新になったので、インストールを行いましょう。
npm install
まとめ
今回のコマンドをまとめると以下のようになります。
- npm outdated でアップデートの確認
- npm install ○○○@latest で1つずつアップデート
- ncu -u でまとめてアップデートし npm install でインストール
パッケージのアップデートはこまめにやりましょう〜