🐥
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"
}
作成したパッケージは以下に配置しました。
パッケージのインストール
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);
インストールした内容をこちらのリポジトリに置きましたので、気になる方は参考にしてください。
ブランチなどを指定してインストール
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
Discussion