用sinopia搭建内部npm服务

sinopia搭建

这里默认你已经有node环境了,执行下面命令,全局安装 sinopia

npm install -g sinopia

 

安装好后,执行下面命令启动 sinopia

sinopia

 

你会看到下面两行提示:

warn  --- config file - /root/.config/sinopia/htpassw

warn --- http address - http://localhost:4873/

上面一行是 sinopia 的配置文件所在路径,下面一行是 sinopia 服务的域名和端口号

然后打开 http://localhost:4873/,如果能正常访问,说明安装成功

 

node服务非常脆弱,一般在实际中使用都会配合守护进程。这里我用的是 pm2 做守护进程

首先全局安装 PM2,执行下面语句:

npm install -g pm2

 

再执行下面语句,通过 PM2 启动 sinopia:

pm2 start `which sinopia`
pm2 start
sinopia

停止服务

pm2 stop sinopia

在 sinopia 服务上安装包 and 发布

环境和用户问题已经解决,那么接下来我们试试在我们的服务商发布自己的包

这里推荐用 nrm 来管理 npm 的镜像地址,非常方便

 

首先全局安装 nrm:

npm install -g nrm

 

然后添加虚拟机npm 服务镜像地址:

nrm add my http://192.168.2.18:4873

 

使用虚拟机镜像:

nrm use my

 

其他常用的 nrm 命令:

nrm --help #查看 nrm 命令帮助 nrm list #列出可用的 npm 镜像地址 nrm use taobao #使用'淘宝npm'镜像地址

 

上面我们把本机的 npm 切换到虚拟机镜像后吗,用它来安装 gulp:

npm install gulp

当然,我们的服务是刚刚建好的,上面还没发布任何包,但我们依然能成功安装

因为 sinopia 发现服务中没有你要下载的包,就会到 taobao 镜像去下载

 

添加用户

  1. $npm adduser --registry http://localhost:4873/

  2. Username: clc

  3. Password: clc

  4. Email: (this IS public) cc@cc.cc

 

安装包没问题,然后就是发布我们自己的包了

上面已经提到如何创建用户,这里就不再细说

发布之前要用下面命令登录:

npm login

添加完用户后,可以使用npm 登陆

  1. $npm login

  2. Username: clc

  3. Password: clc

  4. Email: (this IS public) clc@cc.com

  5. Logged in as clc on http://localhost:4873/

 

进入我们要发布的包根目录,然后执行初始化命令创建 package.json (已经初始化的话,跳过这步):

npm init

根据提示输入包信息,初始化完成后就可以发布了

 

然后在根目录执行下面命令:

npm publish

发布成功后,你就可以像安装别的包那样安装自己发布的包了

喜欢这篇文章?欢迎打赏~~

 

posted @ 2018-09-12 16:08  苍青浪  阅读(214)  评论(0编辑  收藏  举报