LoginSignup
29

More than 3 years have passed since last update.

posted at

updated at

Githubにあげた個人のnpmパッケージをインストールする方法

始めに

publicには公開しないけど、他の案件でも使いますためにローカルで作成したnpmパッケージをインストールする方法について紹介します。
CLIで動作するパッケージの作成方法はこちらの記事を参考にして下さい。

npmパッケージの作成

まず始めにinstallされるライブラリの作成をします。今回は単純にパスを繋げるだけのものを作ります。

lib.js
const path = require('path');

const testJoin = (a, b) => {
  return path.join(a, b);
};

module.exports = {
  testJoin
};

パッケージ情報をpackage.jsonに記載します。

package.json
{
  "name": "mylib",    // パッケージインストールした際にrequire/importで書くことになる名前
  "version": "1.0.0",
  "description": "",
  "main": "lib.js",   // パッケージインストールの際に参照するJSファイル。上でlib.jsとしたので、その名前が入る
  "private": true,    // 間違ってpublishしないようにprivateにする
  "scripts": {
  },
  "dependencies": {
    "path": "^0.12.7"
  },
  "author": "",
  "license": "ISC"
}

作成したパッケージは以下に配置しました。
https://github.com/TakanoriOnuma/test-library

パッケージのインストール

githubに配置したpackageをインストールする場合は以下のコマンドを実行します。

$ yarn add TakanoriOnuma/test-library.git

フルパスでインストールする場合はgit+ssh://git@github.com/TakanoriOnuma/test-library.gitのように書きます。

インストールができればあとは普段と同じように使用します。

const mylib = require('mylib');
const url = mylib.testJoin('a', 'b');
console.log(url);

インストールした内容をこちらのリポジトリに置きましたので、気になる方は参考にしてください。
https://github.com/TakanoriOnuma/test-use-library

ブランチなどを指定してインストール

githubからpackageをインストールする際に#の後ろにブランチやタグを指定してインストールすることができます。

$ yarn add TakanoriOnuma/test-library.git#root

サブディレクトリにあるpackage.jsonをインストールしたい場合

こちらにあるような、ルートではなく、ディレクトリ以下にpackage.jsonがある場合のインストールは先ほどのような方法ではうまくいきません。

この場合は面倒ですが、一度cloneしてローカルからインストールする必要があります。

// directoryブランチのコードを.libraryディレクトリにhistoryは一つだけにしてcloneする
$ git clone --depth=1 -b directory git@github.com:TakanoriOnuma/test-library.git .library
$ yarn add file:.library/directory

参考URL

自作の非公開npmモジュールの作成と共通ライブラリ化
[Node.js] プライベート NPM モジュールを任意の package.json で指定する

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
What you can do with signing up
29