[解決済み】特定のバージョンでGitからnpm installする。
質問
Node.jsのモジュールで、非公開にしたいものを書いたとします。私は行を追加することができる(べきである)ことを知っています。
"private": "true"
から
package.json
ファイルができることも知っています。
npm install
このモジュールは、ファイルシステムのパスまたは GitHub などの git リポジトリへのリンクを使用しています。
また、このようなファイルシステムのパスやgit repoへのリンクを
package.json
というように
dependencies
の部分は、次のような感じです。
"dependencies": {
"myprivatemodule": "[email protected]:..."
}
私が今欲しいのは、最新バージョンへのリンクではなく、特定のバージョンへのリンクです。私が知っている唯一の可能性は、そのIDを使って特定のコミットにリンクすることです。しかし、これは次のようなバージョン番号を使用するよりも可読性が低く、保守性も悪くなります。
0.3.1
.
そこで質問なのですが、とにかくこのようなバージョン番号を指定して、npmがgitリポジトリを検索して、このバージョンを含む最新のコミットを探すことは可能でしょうか?
そうでない場合、あなたのプロジェクトでは、この問題をどのように解決していますか?コミットIDと共存しているのか、それとももっと良い解決策があるのでしょうか?
解決方法は?
A
依存関係
から利用できる必要があります。
registry
をインストールするだけで
を指定することで
version
記述子
.
あなたは確かに
独自のレジストリを作成し、使用することができます。
の代わりに
registry.npmjs.org
プロジェクトが公開されるべきでない場合。
しかし、レジストリに登録されていない場合は、それを参照するために
URL
または
GitのURL
. Git の URL でバージョンを指定するには、適切な
<commit-ish>
タグのようなもので、最後に
URL フラグメント
.
例
0.3.1
:
"dependencies": {
"myprivatemodule": "[email protected]:...#0.3.1"
}
備考 : 上記のスニペットは、質問で投稿されたものと同じベースURLを示しています。
切り取られた部分(
...
) を埋める必要があります。"myprivatemodule": "[email protected]:{owner}/{project}.git#0.3.1"
また、SSHアクセスができない場合は、別のアドレス形式が必要になります。
"myprivatemodule": "git://github.com/{owner}/{project}.git#0.3.1"
お使いのOSによっては
link
を、Github からクローンした別のフォルダの依存関係に追加します。
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
-
[解決済み] Node.jsのNPMモジュール(package.json)のdevDependenciesのインストールを防ぐにはどうすればよいですか?
-
[解決済み] npmパッケージの依存関係にローカルモジュールを指定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み】Npmでgithubから特定のブランチをインストールする。