企業は一般的に、NPM倉庫管理のために、実際には、NPMのサポートを提供し、独自のプライベートサーバーを持っているプラグインをしてパッケージを管理するために使用される他のツール、Nexus2は、主に統合された管理のmaven / gralde倉庫に使用し、Nexus3はNPMプラグインを追加していますツールsinopiaもあり、残念ながら、それはすでに更新を停止しています。
ダウンロードしてインストール
-
ダウンロードする公式サイトではネクサスリポジトリマネージャOSS 3.xのを、任意の場所に解凍します。
-
管理者は、cmdを実行し、ネクサス3.15.2-01 / binディレクトリに切り替え
nexus.exe /install
インストール後、成功を促すメッセージが表示されますInstalled service 'nexus
nexus.exe /run
サービスを実行して、最初のマイナーは、長い時間を待ちます -
ブートアップのために待機した後、入力して
http://127.0.0.1:8081
、右上のをクリックしてSign In
着陸、デフォルトのアカウント:管理者パスワード:admin123 -
あなたが求められた場合は
could not open SCManager
、管理者cmdを起動する一切使用することはありませんので、
NPMの倉庫を追加
-
次のようにあなたは、倉庫の種類のリストを見ることができ、左側のメニューリポジトリをクリックします:
NPM(グループ)は、パケットを表し、NPM(ホストされている)は、ネイティブプライベート、NPM(プロキシ)は、リモートエージェントを示して示しています。
レジストリは(ホストされ、プロキシを含む)グループに設定されている場合は最初にホストされてからになりますプロキシおよびキャッシュから取られていない場合は、次回はキャッシュから取得されます。 -
倉庫を作成するには、リポジトリのボタンを作成]をクリックします
-
選択し
npm(proxy)
、名前を入力します:NPM-プロキシ、リモートストレージがいっぱいhttps://registry.npm.taobao.orgまたはhttps://registry.npmjs.orgをパケット場合のアドレスプロキシにアドレス要求を。
-
再次点击Create repository按钮., 增加 npm(hosted) 输入 Name: npm-hosted 用于存放自己的私有包
-
再次点击Create repository按钮.,增加npm(group) 输入 Name: npm-all, 下面Member repositories里选择之前添加的2个移动右边
配置与验证npm仓库
- 查看并设置nodejs的默认仓库地址
npm config get registry #http://registry.cnpmjs.org/
npm config set registry http://localhost:8081/repository/npm-group/
-
设置完成后,可以找到当前用户目录下的.npmrc文件,内容如下:
- 随便进入一个目录, 初始化package, npm init -y, npm --loglevel info install jquery 查看是否从自己的仓库地址拉取包
npm init -y
npm --loglevel info install jquery
#查看本地包的缓存地址(和私服无关)命令
npm config get cache
从上图中可以看到,fetch地址即为私服地址。
查看刚搭建的私服里的内容为空, 在安装了依赖包后,就会有一些被缓存了,下次请求就不会走外网了。
发布包到私服
npm发布包是需要先登录的,默认是登录到npm官方服务器,若registry已更改为其它地址则可能登录失败,而这里我们只是想把包发布到自己私有的服务器上。
- 添加权限认证
设置权限, Realms 菜单, 将 npm Bearer Token Realm 添加到右边 - 创建nx-deploy角色
给角色赋于一个nx-repository-view-*-*-*
权限
-
创建deployer 用户,密码也为 deployer,同时设定角色为nx-deploy
- 客户端的.npmrc配置
registry=http://127.0.0.1:8081/repository/npm-group/
[email protected]
always-auth=true
_auth="ZGVwbG95ZXI6ZGVwbG95ZXI="
_auth是 username:password 的base64值,这样设置的好处是publish时就不用login了。
- 发布控件到npm私服中
在package.json 配置
"publishConfig" : {
"registry" : "http://localhost:8081/repository/npm-hosted/"
}
在包根目录执行npm publish
即可。
如下:
注意:公開では、NPM-ホストされて、いないNPM-グループです。
私たちはpackage.jsonに設定されていない場合は、次のようにも、コマンドラインで指定することができます。
$ npm publish --registry=http://localhost:8081/repository/npm-hosted/
+ vue-hslider@1.0.0
Nexus3は、データのバックアップを移行します
ネットワーク環境、外部ネットワークから転送されたパケットの多くを必要とする、外部ネットワークは、パッケージの実装テストを関連付けることができ、その後バッファリングされたパケットをネットワークに直接コピーすることができ、成功しています。
Linuxの
-
倉庫移行
成分が倉庫ネクサスsonatype作業ディレクトリに格納され、ネクサス/ CONF / nexus.propertiesプロファイルで指定されたディレクトリの場所。
バックアップと復元:倉庫の移行には二つの手順が必要です -
バックアップ倉庫は
sonatype仕事だろうあなたは、あなただけの二つの最も重要なフォルダのインデックス(インデクサー)と倉庫(ストレージ)をバックアップするように選択することができ、全体のバックアップフォルダを -
倉庫が復元
適切なバックアップsonatype-作業ファイルを新しいサーバにコピーされているだろう。そして、ネクサス/ confに/ nexus.properties設定ファイル、リポジトリに再指定されたディレクトリを変更します。
ウィンドウズ
-
倉庫移行
部材は、倉庫ネクサスsonatype作業ディレクトリ内のbin / nexus.vmoptionsプロファイル(Dkaraf.data)で指定されたディレクトリの場所に格納されています。
バックアップと復元:倉庫の移行には二つの手順が必要です -
バックアップ倉庫は
sonatype仕事だろうあなたは、あなただけの二つの最も重要なフォルダのインデックス(インデクサー)と倉庫(ストレージ)をバックアップするように選択することができ、全体のバックアップフォルダを -
倉庫が復元
適切なバックアップsonatype-作業ファイルを新しいサーバにコピーされているだろう。そして、ビン/ nexus.vmoptions設定ファイル、リポジトリに再指定されたディレクトリを変更します。
オリジナルます。https://www.jianshu.com/p/1674a6bc1c12