回答:
cd somedir
npm install .
または
npm install path/to/somedir
somedir
そのpackage.json
中に含まれている必要があります。
それはgitについても知っています:
npm install git://github.com/visionmedia/express.git
npm install
すべてのファイルがプロジェクトディレクトリにコピーされた後。したがって、require
ステートメント内のパスは、プロジェクトディレクトリにのみ相対的になります。
install
そこにインストールするだけで、使用したいプロジェクトではないのではないでしょうか。
#<ref>
、git urlの末尾にa を追加することでブランチ/コミット/タグを指定できますgit://github.com/visionmedia/express.git#v0.0.1
。(b)安全のため"private": true
に、プライベートリポジトリのpackage.jsonに追加します。これにより、npmが誤って秘密のソースを公式のnpmレジストリに公開してしまうことを防ぐことができます。(debuggable.com/posts/…によると)
npm i git+http://all/the/things.git
git clone http://all/the/things.git
あなたの中のプライベートNPMモジュールの追加
"private": true
あなたのpackage.jsonに
次に、別のモジュールでプライベートモジュールを参照するには、package.jsonでこれを使用します
{
"name": "myapp",
"dependencies": {
"private-repo": "git+ssh://git@github.com:myaccount/myprivate.git#v1.0.0",
}
}
"private": true
部分は必須ではありませんが、プライベートリポジトリが誤ってパブリックnpmレジストリに公開されるのを防ぐのに役立ちます。
ローカルファイルシステムにあるNPMパッケージをインストールできますか、あるいはgitからでもインストールできますか?
はい、できます!ドキュメントからhttps://docs.npmjs.com/cli/install
パッケージは次のとおりです。
- a)package.jsonファイルで記述されたプログラムを含むフォルダー
- b)(a)を含むgzipされたtarball
- c)(b)に解決されるURL
- d)a
<name>@<version>
(c)でレジストリに公開されているもの- e)a
<name>@<tag>
(d)を指すa- f)
<name>
(e)を満たす「最新」のタグを持つa- g)a
<git remote url>
は(b)に解決される
npmは見事ではありませんか?
tar -czf my-package.tar.gz dist
(dist
フォルダーにも適切なpackage.json
ファイルが含まれていると仮定して)でパッケージを作成した場合npm install ../my-lib/my-package.tar.gz
、他のプロジェクトから作成できます。
2016年1月の更新
他の回答に加えてに、チームコンテキストでプライベートモジュールを使用できるようにするシナリオがある場合があります。
GithubとBitbucketはどちらも、チームAPIキーを生成するという概念をサポートしています。このAPIキーは、このチームとしてAPIリクエストを実行するためのパスワードとして使用できます。
あなたの中のプライベートNPMモジュールの追加
"private": true
あなたのpackage.jsonに
次に、別のモジュールでプライベートモジュールを参照するには、package.jsonでこれを使用します
{
"name": "myapp",
"dependencies": {
"private-repo":
"git+https://myteamname:aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4@bitbucket.org/myprivate.git",
}
}
ここで、チーム名= myteamname、およびAPIキー= aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4
ここではbitbucketリポジトリを参照していますが、githubを使用してもほとんど同じです。
最後に、別の方法として、(執筆時点で)1か月あたり7ドルを支払うことを本当に気にしない場合は、すぐにプライベートNPMモジュールを使用できます。
FWIW:民間組織のリポジトリを扱うときに、これらすべての回答に問題がありました。
以下は私のために働きました:
npm install -S "git+https://username@github.com/orgname/repositoryname.git"
例えば:
npm install -S "git+https://blesh@github.com/netflix/private-repository.git"
この1つのケースで他の回答がうまくいかなかった理由は完全にはわかりません。Googleにアクセスしてこの回答を見つける前に最初に試したものだからです。そして、他の答えは私が過去にやったことです。
うまくいけば、これは他の誰かを助けます。
私はこれと同じ問題を抱えていて、いろいろ調べてみたところ、Reggie(https://github.com/mbrevoort/node-reggie)を見つけました。それはかなり固体に見えます。NPMモジュールをプライベートサーバーに軽量に公開できます。完璧ではなく(インストール時に認証なし)、それでもまだ非常に若いですが、ローカルでテストしましたが、本来の動作を実行しているようです。
それは...(そしてこれはちょうど彼らのドキュメントから)
npm install -g reggie
reggie-server -d ~/.reggie
次に、あなたのモジュールディレクトリにcdして...
reggie -u http://<host:port> publish
reggie -u http://127.0.0.1:8080 publish
最後に、直接npm installコマンドで、またはpackage.json内からそのURLを使用するだけで、レジーからパッケージをインストールできます...
npm install http://<host:port>/package/<name>/<version>
npm install http://<host:port>/package/foo/1.0.0
または
dependencies: {
"foo": "http://<host:port>/package/foo/1.0.0"
}
以下のようなアクセスしやすい方法でコードを構造化します。これが可能な場合。
NodeProjs \ Apps \ MainApp \ package.json
NodeProjs \ Modules \ DataModule \ package.json
MainApp @ NodProjs \ Apps \ MainApp \内
npm install --S ../../Modules/DataModule
package.jsonを次のように更新する必要がある場合があります。
"dependencies": {
"datamodule": "../../Modules/DataModule"
}
これは私の状況でうまくいきました。
Npmは、ユーザーあたり月額7ドルで無制限のプライベートホストモジュールを提供するようになりました。
cd private-project
npm login
あなたのパッケージのjsonセット "name": " @username/private-project"
npm publish
次に、プロジェクトを要求するには:
cd ../new-project
npm install --save @username/private-project
arcseldonの答えから始めて、次のようにURLにチーム名が必要であることがわかりました。
npm install --save "git+https://myteamname@aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4@bitbucket.org/myteamname/myprivate.git"
また、APIキーは個人ユーザーではなくチームでのみ使用できることに注意してください。
マシンがファイアウォール下にある場合でも、パブリックGithubリポジトリからインストールするための構成:
dependencies: {
"foo": "https://github.com/package/foo/tarball/master"
}
これは私が探していたものでした:
# Get the latest from GitHub, public repo:
$ npm install username/my-new-project --save-dev
# Bitbucket, private repo:
$ npm install git+https://token:x-oauth-basic@github.com/username/my-new-project.git#master
$ npm install git+ssh://git@github.com/username/my-new-project.git#master
# … or from Bitbucket, public repo:
$ npm install git+ssh://git@bitbucket.org/username/my-new-project.git#master --save-dev
# Bitbucket, private repo:
$ npm install git+https://username:password@bitbucket.org/username/my-new-project.git#master
$ npm install git+ssh://git@bitbucket.org/username/my-new-project.git#master
# Or, if you published as npm package:
$ npm install my-new-project --save-dev
この目的でVerdaccioを使用できます。これは、Node.jsに組み込まれた軽量のプライベートnpmプロキシレジストリです。また、無料でオープンソースです。Verdaccioを使用することで、プレーンなプライベートnpmレジストリのようにそれほど面倒な作業は必要ありません。
あなたは彼らのウェブサイトでそれをインストールして実行する方法についての詳細情報を見つけることができますが、ここにステップがあります:
必要node >=8.x
です。
// Install it from npm globally
npm install -g verdaccio
// Simply run with the default configuration that will host the registry which you can reach at http://localhost:4873/
verdaccio
// Set the registry for your project and every package will be downloaded from your private registry
npm set registry http://localhost:4873/
// OR use the registry upon individual package install
npm install --registry http://localhost:4873
また、Dockerも備えているため、公開されているDockerに簡単に公開できます。構成すると、他の人に配布できるプライベートnpmリポジトリができます。