需求
- 构建私有npm服务
- 公有npm和私有npm同时使用
解决方案
- sinopia 搭建私有npm服务
- 借助npm的scoped package功能实现私有公有npm共同使用
环境
node 5.6.0
system mac osx 10.10.5
工具
sinopia搭建私有npm服务
dockerhub上相关镜像的使用量是这样的
从上面的排名可以看到,rnbwd/sinopia
和keyvanfatehi/sinopia
的star和pull比较多
rnbwd/sinopia
1 | docker run --name sinopia -d -p 4873:4873 rnbwd/sinopia |
启动容器之后,发现http://localhost:4873
不能访问,curl的error code是52,考虑到是宿主机端口号的问题,改成9000:4873,9000端口还是没法访问
keyvanfatehi/sinopia
1 | docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia:latest |
启动成功
应用
添加一个用户,方便publish私有package到私有npm服务上
1
npm adduser --registry npm adduser --registry http://localhost:4873/
关联scope和私有npm
1
npm config set @private:registry http://localhost:4873/
初始化私有npm package
1
npm init --scope private
发布私有npm package
1
npm publish .
安装私有npm package
1
npm install @private/project-name --save
引入私有npm package
1
require('@private/project-name')
##写在后面
如果你觉得我写的不错,欢迎关注我的微信公众号
