使用sinopia搭建自己的npm服务

随着代码的积累,感觉有必要自己搭建一个npm服务,对自己的代码库进行管理。

为什么选sinopia,之前有 仁兄使用Kappa 搭建私有npm私有库,看上去比较麻烦,还需要依赖CouchDB数据库。参考 https://segmentfault.com/a/1190000000491162

我去强大的github上搜索了一下,发现了sinopia,纯nodejs解决方案,不需要什么依赖的软件包。果然是简单有效的办法,于是根据教程尝试了一下,基本没遇到什么坎就弄好了。

github地址:https://github.com/rlidwka/sinopia

首先安装sinopia

$ npm install -g sinopia

启动sinopia

$ sinopia

默认启动端口4873,通过http://localhost:4873/可以浏览你上传的包

在npm中使用新的服务,在通过npm安装依赖包的时候服务器会优先使用服务上已经上传的包,如果找不到会使用公共的npm registry,省去的来回切换的麻烦。

$npm set registry http://localhost:4873/


但这样只能通过本机进行访问,如何通过远程可以访问你的npm服务器呢?

看一下sinopia命令帮助

$ sinopia -h

 

通过-l可以指定主机和端口

重新启动一下:

$ sinopia -l 100.100.100.100:8000

ip为举例,可以是你的主机的对外ip,这样就可以通过ip来访问你的npm服务器了


另外推荐一下管理registry的工具nrm

$ npm install -g nrm
$ nrm add mynpm http://100.100.100.100:8000
$ nrm use mynpm

列出所有的本地registry

$ nrm ls

切换回公共的registry

$ nrm use npm


完成了服务器的搭建,我们就可以发布自己的nodejs库到服务器上了。

首先要创建一个用户

$ npm adduser --registry http://100.100.100.100:8000

输入用户名,密码,邮箱用户创建完毕。

然后进入你要上传的代码目录,执行初始化。

$ npm init

这个过程中要输入项目名,版本号,作者,开源协议等信息,自动生成package.json文件。

初始化完成了执行发布命令

$ npm publish

看到发布成功的提示,ok,第一个包就这样发布成功了!

浏览器访问http://100.100.100.100:8000可以看到我们刚刚发布的包了,通过readme.md可添加包的使用说明和用例代码。

接下来我们团队会把自己之前积累的一些代码逐步整理并形成npm包,放在npm服务器上并考虑开源。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页