1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

package.jsonとnpxについてまとめる

Posted at

package.jsonの位置づけや設定可能な内容が分からなかったので調べた範囲でまとめる。
ついでにnpxについても簡単にまとめる。

package.jsonとは?

Node.jsのプロジェクトは公開の有無に関わらず1つのパッケージとして扱われる。
package.jsonはパッケージに関する諸々の情報が記載されているファイルである。
パッケージは、package.jsonが格納されているディレクトリがルートディレクトリとして扱われ、npmのコマンドは基本的にルートディレクトリで実行する必要がある。

package.jsonにはパッケージ名やパッケージの説明、ライセンス表記などパッケージの情報や、パッケージの依存関係、エイリアスやテストの定義などコマンドや実行に影響を与える情報などが含まれている。

package.jsonの生成

package.jsonnpm initコマンドで生成できる。
以下はnpm initコマンドで生成したpackage.jsonの例。

package.json
{
  "name": "test",
  "version": "1.0.0",
  "description": "test package",
  "main": "test.js",
  "dependencies": {
    "acorn": "^8.12.1",
  },
  "devDependencies": {
    
  },
  "scripts": {
    "test": "jest"
  },
  "author": "",
  "license": "ISC"
}

scripts

コマンド名とそのコマンドを指定した際に実行される内容を定義できる。
ここで定義されたコマンドはnpm run <command name>で実行可能。
starttestなどいくつかのコマンド名は特別扱いされ、npm startnpm testのような形で実行可能。

dependenciesdevdependencies

dependenciesはパッケージの実行に必要なパッケージ。
devdependenciesは開発やテストに必要なパッケージ。
これらの追加・更新・削除は通常、npm install <package>コマンドを通して行う。
devdependenciesに反映したい場合は、npm install --save-dev <package>とする。
package.jsonのこれらの項目を変更した場合はnpm installコマンドで反映する必要がある。

package-lock.jsonとは?

npm installした際に生成されるファイル。
依存パッケージのバージョンを固定するために使用される。

package-lock.jsonが存在する状態でnpm installした場合はこのファイルの内容を基にパッケージのインストールを実施する。
その際、node_modulesの削除を伴う。
package-lock.jsonの内容を優先してインストールしたい場合は、npm ciを使用する。
npm ciを使用した場合は、package.jsonとの内容に矛盾があった場合、エラーとなる。

npxとは?

パッケージを一時的に実行するためのコマンド。
一時的にパッケージを利用でき、使用後はパッケージが残らない。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?