sinopia搭建npm服务

418 阅读3分钟

在项目开发中,搭建属于自己的npm服务,管理npm包。

第一步,安装sinopia

npm install -g sinopia

第二步,启动sinopia

sinopia

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

在npm中使用新的服务,在通过npm安装依赖包的时候服务器会优先使用服务上已经上传的包,如果找不到会使用公共的npm registry

第三步,设置本机访问

npm set registry http://localhost:4873/

如果要远程访问,则进行如下操作

看一下sinopia命令帮助

sinopia -h

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

sinopia -l 10.10.10.10:8000

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

重新启动一下:

sinopia

如果:http://localhost:4873/不能访问,需要进行浏览器的设置

mac OS 解决方案 :设置-安全与隐私-防火墙- 防火墙选项- 点击 + 号,将浏览器加入到允许传入连接的列表中 - 确定保存即可
win10 解决方案:  此电脑- 右键 属性 - 控制面板主页 - 系统和安全- Windows Defender防火墙 - 允许应用通过Windows防火墙 -  更改设置 将浏览器加入到允许传入连接的列表中 - 确定保存即可


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

首先要创建一个用户

npm adduser --registry http://localhost:4873/

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

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

npm init

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

如果项目已经进行过配置,可忽略此步骤

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

npm publish

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

接下来就可以考虑将项目中的代码生成npm包,发布到自己的私有服务中了


备注:在使用过程中,务必保证sinopia服务是一直在运行中
此文档,仅供学习使用,如有问题,请多多指正


第四步,团队使用

默认sinopia你公布的地址和端口只能是本地使用:http://localhost:4873,如果需要在其它电脑使用必须要修改/root/.config/sinopia/config.yml文件,在文件的最后添加: listen:0.0.0.0:4873   意思是允许任何ip访问4873端口。 

listen:
  0.0.0.0:4873

  • (1)安装nrm换源工具

npm install -g nrm

  • (2)添加私有的NPM仓库镜像地址

nrm add name http://XX.XXX.XX.XX:4873

  • (3)查看镜像地址列表

nrm ls  

nrm ls  查看可用仓库
  • (4)使用本址的镜像地址

nrm use name

  • (5)安装依赖

npm install 依赖名

  • (6)依赖成功,本地成功安装依赖包