在项目开发中,搭建属于自己的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)依赖成功,本地成功安装依赖包