服务器搭建npm私服

文章同步语雀地址:https://www.yuque.com/chenzilong/mxypih/lmv38l

npm 知识记录

服务器搭建npm私服

 

环境准备

Nexus 3.2.1 需要JDK8,如果没有JDK,需要先到oracle官网上去下载

Nexus 下载地址:http://www.sonatype.org/nexus/

 

我的版本

当前最新版本:nexus-3.20.1-01-unix.tar.gz

没有v*n的话可以使用我的网盘资源:https://pan.baidu.com/s/1AJcXYg57IeykC-Sda3TixQ

 

环境搭建

解压:

tar xvfz nexus-3.2.1-01-unix.tar.gz

启动:

./nexus-3.20.1-01/bin/nexus start

查看日志

tail -f sonatype-work/nexus3/log/nexus.log

服务器搭建npm私服

 

访问页面

因为我的最新的版本,初始账号是admin,初始密码不再是admin123.

cd /sonatype-work/nexus3

内部有一个初始密码文件admin.password,在我们登录界面重新设定密码之后,这个文件会消失。然后我们设置一下密码就好,登录到系统内部。

服务器搭建npm私服

 

创建存储空间(如果使用默认的存储空间,此步骤可省略)

服务器搭建npm私服

服务器搭建npm私服

服务器搭建npm私服

 

创建仓库

仓库类型

  • hosted(私有仓库):用于发布个人开发的npm组件
  • proxy(代理仓库):可以代理npm和淘宝镜像
  • group(组合仓库):对外公开的仓库,集合了hosted和proxy

服务器搭建npm私服

 

创建Hosted npm Registries 私有仓库

服务器搭建npm私服

 

创建 Proxy npm Registries 代理仓库

【代理的远程地址可以写https://registry.npmjs.org,也可以写淘宝镜像】

服务器搭建npm私服

 

创建 Group npm Registries 组合仓库

服务器搭建npm私服

 

选择要包括的仓库,越靠上优先级越高,如果私有仓库在上,用户下载npm包的时候会优先下载私有仓库中的,如果私有仓库没有再去代理仓库中下载。

完成之后创建的三个npm私服库

服务器搭建npm私服


创建用户,设置权限(用于发布npm包)

服务器搭建npm私服

 

用户的状态值一定是Active

服务器搭建npm私服

 

设置权限,这一步如果不设置,是不能发布自己的npm包的

服务器搭建npm私服

 

用户端使用私服发布私服npm

用户端设置npm的registry为group仓库

服务器搭建npm私服

 

npm config set registry http://私服ip:8081/repository/private-npm-group/

 

用户登录账号

npm login -registry=http://npm私服所在服务器的ip地址:8081/repository/private-npm-hosted/

输入用户名,密码,邮箱

服务器搭建npm私服

 

用户端发布自己的npm包到私服

npm publish -registry=http://npm私服所在服务器的ip地址:8081/repository/private-npm-hosted/

校验发布成功

服务器搭建npm私服

服务器搭建npm私服

服务器搭建npm私服

 

客户端使用npm包

设置npm源地址

npm config set registry http://私服ip:8081/repository/private-npm-group/

使用npm install的时候会报错,本地测试会出现不了,因为上面已经登陆过了,可以通过npm logout登出信息,然后会发现下面的错。

服务器搭建npm私服

登录账号,然后在npm install就可以了

npm login -registry=http://npm私服所在服务器的ip地址:8081/repository/private-npm-hosted/