開発覚書はてな版

個人的な開発関連の備忘録

【Node.js】dependenciesでGitやファイルパスを指定する

概要

Node.jsのpackage.jsondependenciesにGitリポジトリやファイルパスの指定方法を記載。

動作環境

  • Node.js 8.9.x

Gitリポジトリの指定

公式では以下の感じで記載されています。

<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]

プロトコルgit+ssh, git+https などから選べます。

また、#<commit-ish>の箇所でタグやコミットIDの指定が出来ます。
何も指定がない場合はgitリポジトリで指定されたデフォルトブランチの最新が取得されます。

設定例
{
  "name": "foo",
  "version": "0.0.0",
  "dependencies": {
    "hoge": "git+ssh://git@github.com:hoge/hoge.git",
    "hogehoge": "git+ssh://git@github.com:hoge/hogehoge.git#v1.0.1",
    "hogehige": "git+https://github.com/hoge/hogehige.git"
  }
]

ファイルパスの指定

ローカルファイルでパッケージを作成している場合は、ディレクトリ指定で参照します。 file:のあとにpackage.jsonからの相対パスを指定することで参照できます。
注意点としては、参照しているローカルパッケージ内で変更があった場合は、都度npm installが必要です。
プロジェクト序盤でパッケージの変更が多い場合はnpm linkを使って参照することも検討してください。
npm linkについてもそうのうちドキュメント化するかもです。

設定例
{
  "name": "foo",
  "version": "0.0.0",
  "dependencies": {
    "hoge": "file:../hoge"
  }
]

参考URL

docs.npmjs.com