npmを使ってJSのプロジェクトの管理
X番煎じの記事。
Node.jsを触り始めたのと同じぐらいのタイミングでnpmコマンドを使い始めたが、
今まで本格的に使おうと思ったことがなかったのもあり、
「npm search キーワード」と「npm install パッケージ名」以外使うことがなかった。
(-gを付ければ恒久、つけなければカレントぐらいの知識だった)
もちろん、よくQiitaの記事などで「npm install --save パッケージ名」を指定していたので
「--save」の存在は知ってたが、特に使わなくても困らなかったので、覚えようという気もなかった。
(個人でソース管理する分にはライブラリを入れたままでも困らないので)
が、GitHubのようなパブリックな環境で管理しようとすると、
さすがにそうもいかないので、JavaのMaven的なものを探してnpmに行き着いた。
概要
- プロジェクト作成
- パッケージ(ライブラリ)の追加
- プロジェクト取得後にやること
プロジェクト作成
npmでプロジェクトを管理する場合、最初にpackage.jsonを作成する必要がある。
package.jsonの作成にはinitを使用する。
以下、実行例である。
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (xxxxx)
version: (1.0.0) 0.5.0
description: xxxxxxxxxx
entry point: (xxxxx.js)
test command:
git repository: (https://github.com/xxxxx/xxxxx.git)
keywords: xxxxx xxxxx
author: xxxxx
license: (ISC) MIT
About to write to /home/alisha/work/tmp/20181213/gql2doc/package.json:
{
"name": "xxxxx",
"version": "0.5.0",
"description": "xxxxxxxxxxx",
"main": "xxxxxxxxxxxx",
"dependencies": {
"graphql": "^14.0.2",
"isomorphic-fetch": "^2.2.1",
"meow": "^5.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/xxxxx/xxxxx.git"
},
"keywords": [
"graphql",
"gql",
"html"
],
"author": "XXXXXXXXXXXXXX",
"license": "MIT",
"bugs": {
"url": "https://github.com/xxxxx/xxxxx/issues"
},
"homepage": "https://github.com/xxxxx/xxxxx#readme"
}
Is this ok? (yes) yes
GitのようなVCSで管理する場合、package.jsonをリポジトリに追加する必要がある。
パッケージをインストール
プロジェクトにパッケージ(依存ライブラリ)を追加する場合、
「--save」のオプションを指定することでパッケージを取得した上で、
package.jsonに依存ライブラリが追記される。
$ npm install --save 依存ライブラリ
上記のコマンドを実行し、package.jsonを保持しておけば、
「node_modules/」を直接保存する必要はなくなる。
プロジェクト取得後にやること
git clone
などでソース取得後、
以下のようにnpm install
を実行することで、
依存ライブラリをローカルにインストールできる。
$ npm install
おまけ
開発時にだけ使用するライブラリを記述する場合は以下のように「--save-dev」を指定する。
$ npm install --save-dev 依存ライブラリ