Npmは、組織内で使用するのに最適なプラットフォームのように聞こえます。Nexus/ Mavenのように、プライベートリポジトリが可能かどうか知りたいです。Googleでは何も起こりません:(
Npmは、組織内で使用するのに最適なプラットフォームのように聞こえます。Nexus/ Mavenのように、プライベートリポジトリが可能かどうか知りたいです。Googleでは何も起こりません:(
回答:
これを行う簡単な方法はないと思います。
NPMのドキュメントを見ては、それが可能であること、を教えてくれる:
自分のプライベートレジストリを実行できますか?
はい!
最も簡単な方法は、couchデータベースを複製し、同じ(または同様の)設計ドキュメントを使用してAPIを実装することです。
公式のCouchDBから連続レプリケーションを設定し、内部のCouchDBをレジストリ構成として設定すると、プライベートパッケージに加えて、公開されたパッケージを読み取ることができ、デフォルトでは内部でのみ公開されます。次に、全世界に公開するためにパッケージを公開する場合は
--registry
、そのコマンドの構成をオーバーライドするだけです。
クロックブログには、プライベートnpmリポジトリを作成する方法に関する優れたチュートリアルもあります。
編集(2017-02-26):
それほど新しいものではありませんが、NPMでプライベートパッケージをホストする有料プランがあります。
長年にわたり、NPMは、NPMに基づいて構築された巨大なフロントエンドエコシステムを通じて、Node.js以外の多くの企業にとっても要因となっています。社内でJavaプロジェクトをホストするためにSonatype Nexusをすでに実行している場合は、それを使用して内部NPMパッケージをホストすることもできます。
その他のオプションは、JFrog ArtifactoryとInedo ProGetを、私はそれらを使用していません。
https://github.com/isaacs/npmjs.org/:npmバージョンv1.0.26では、package.jsonファイルの依存関係としてプライベートgitリポジトリのURLを指定できます。私はそれを使ったことがありませんが、フィードバックが大好きです。これはあなたがする必要があることです:
{
"name": "my-app",
"dependencies": {
"private-repo": "git+ssh://git@yourgitserver.com:my-app.git#v0.0.1",
}
}
次の投稿はこれについて話します:デバッグ可能:プライベートnpmモジュール
これを行うには、使いやすいnpmパッケージがあります。 https://www.npmjs.org/package/sinopia
簡単に言えば、Sinopiaは、構成なしでセットアップできるプライベート/キャッシングnpmリポジトリサーバーです。
シノピアは次の目的で使用できます。
Verdaccioは私が探していたものであり、それ自体の答えに値します;)これは、活発に維持されているSinopiaのフォークです(ここで非常に賛成の回答です)。それはnpmパッケージとしてのnpmレジストリであり、見つけることができます
ここ:https : //github.com/verdaccio/verdaccio、
ここ:https : //www.verdaccio.org、
ここ:pnpm i -g verdaccio
、または
ここ:docker run -it --rm --detach --name verdaccio -p 4873:4873 verdaccio/verdaccio
4月14日(2015年)、npmプライベートモジュールが導入されました。
プライベートモジュールの料金を支払うと、次のことができます。
- 必要なだけプライベートパッケージをホストする
- これらのパッケージの読み取りアクセスまたは読み取り/書き込みアクセスを他の有料ユーザーに与える
- 他の有料ユーザーがあなたに読み取りアクセス権を与えたパッケージをインストールして使用します
- 他の有料ユーザーがあなたに書き込みアクセス権を与えたパッケージで共同作業する
もちろん無料ではありません。現在、ユーザーあたり月額7ドルです。
そして、それはまだかなり新しいサービスです。たとえば、組織アカウントのサポートがありません(2015年6月現在):
現在、プライベートパッケージは個人ユーザーのみが利用できますが、組織アカウントのサポートもまもなく開始されます。当面の間、お気軽に組織のユーザーを作成してください。サポートが利用可能になったら、組織にユーザーをアップグレードできます。
だから完璧ではありませんが、それは公式ですプライベートパッケージを維持するための npmソリューションであり、それ自体が言及する価値があります。
更新
Npmプライベートパッケージが利用可能になり、個々のユーザーと組織の両方を対象としたプランが提供されます。
- 無制限の数のパブリックおよびプライベートパッケージ
- $ 7 /月/開発者
- 組織名に基づいて1つのスコープ名を含みます
- @ org-name / fooへのアクセスを公開および制御する
(免責事項:リモートでnpm、Inc.と提携していません)
プライベートnpmレジストリをサポートするリポジトリマネージャー:
このスレッドは更新が必要だと思います。利用可能なnpmレジストリのいずれかを見ると、それらは非常に重く、couchdbが必要です。Gemfurryなどは、公開レポジトリからフォークする必要があります。shadow-npmのようなnpmの一部には、最近のコミットがありません。
次に、Reggieを見つけました。そのコミット活動はよく、インストールと使用は非常に簡単で、コミュニティのサポートも非常に優れています。非常に軽量で、couchdbなどに対応する必要はありません。
あなたの質問がよくわからない場合はご容赦ください。しかし、これが私の答えです。
プライベートnpmモジュールを作成し、npmの通常のコマンドを使用してインストールできます。ほとんどのnode.jsユーザーはリポジトリとしてgitを使用しますが、機能するリポジトリであれば何でも使用できます。
パッケージが作成されたら、次を使用します
npm install * tarball_url *
パーティーには少し遅れますが、NodeJS(おそらく11月14日現在)は企業NPMリポジトリをサポートしています。詳細は公式サイトで確認できます。
一見すると、npmEはNPMリポジトリのフォールスルーミラーリングを許可しているように見えます。つまり、内部のリポジトリでパッケージが見つからない場合、実際の NPMリポジトリでパッケージを検索します。とても便利なようです!
npm Enterpriseは、npmとパブリックnpmレジストリを維持するチームから、組織内のJavaScriptモジュールを安全に共有および配布するためのオンプレミスソリューションです。以下を必要とするチーム向けに設計されています。
プライベートモジュールの簡単な内部共有により、開発と展開のワークフローをより適切に制御し、オープンソースモジュールの展開に関する厳格なセキュリティをオンプレミスのコードをホストする法的要件に準拠したnpmEはプライベートnpm
npmEは、すでに使用しているのと同じ標準のnpmクライアントで動作するnpmレジストリですが、現在熱心にノードを採用している大規模な組織に必要な機能を提供しています。これは、npmオープンソースプロジェクトのスポンサーであり、パブリックnpmレジストリのホストであるnpm、Inc.によって構築されています。
残念ながら、無料ではありません。試用できますが、市販のソフトウェアです。これはソロ開発者にとってはそれほど素晴らしいことではありませんが、あなたがソロ開発者であれば、GitHubがあります:-)
この投稿では、プライベートレジストリのセットアップ方法について説明しています
npmjs.orgを複製するには、次のコマンドを使用します
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://isaacs.iriscouch.com/registry/", "target":"registry", "continuous":true, "create_target":true}' -H "Content-Type: application/json"
"continuous":true
コマンドにはがあることに注意してください。これはCouchDBの_changes APIを利用しており、このAPIが通知されたときに新しい変更をプルします。
これらのレプリケーションを停止したい場合は、簡単に追加でき"cancel":true
ます。その後、スクリプトは
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://isaacs.iriscouch.com/registry/", "target":"registry", "continuous":true, "create_target":true, "cancel":true}' -H "Content-Type: application/json"
次に、npmjs.orgのreadmeにアクセスして、npmをインストールします(確認nodejs
しgit
てインストールされていること)。打撃はすべてのステップです
git clone git://github.com/isaacs/npmjs.org.git
cd npmjs.org
sudo npm install -g couchapp
npm install couchapp
npm install semver
couchapp push registry/app.js http://localhost:5984/registry
couchapp push www/app.js http://localhost:5984/registry
私はパーティーに少し遅れるかもしれませんが、これらの2つのどれでもあなたのために働くかもしれません:
分散型アプローチを好む場合は、Aragon Package Managerを使用することもできます。