您的位置:首页 > 产品设计 > 产品经理

使用Sinopia搭建私有npm仓库

2017-06-16 20:22 239 查看

使用Sinopia搭建私有npm仓库

在用npm装包的时候,每次都要下载一大堆,慢且不说,npm还老被墙,所以就想到在公司内部搭建npm仓库镜像。大概看了几个,觉得Sinopia最简单也好用,所以就使用Sinopia搭建仓库吧。

安装

sudo npm install -g sinopia


配置与运行

安装完成后,暂时不知道配置文件在哪里,可以先运行一下 sinopia,比如:

$ sinopia
warn  --- config file  - /home/<user>/.config/sinopia/config.yaml
warn  --- http address - http://localhost:4873/[/code] 
从上面命令输出可以看到配置文件路径:/home//.config/sinopia/config.yaml

下面修改配置文件,在最后加上一行 “listen: 0.0.0.0:4873”,目的是为了可以从别的机器上也能访问 sinopia 仓库。

#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/rlidwka/sinopia/tree/master/conf #

# path to a directory with all packages
storage: /home/jhadmin/.local/share/sinopia/storage

auth:
htpasswd:
file: ./htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
#max_users: 1000

# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/ 
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated

'*':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all

# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $authenticated

# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs

# log settings
logs:
- {type: stdout, format: pretty, level: info}
#- {type: file, path: sinopia.log, level: info}

listen: 0.0.0.0:4873


修改完成后再次启动 Sinopia 服务,如下:

$ sinopia
warn  --- config file  - /home/<user>/.config/sinopia/config.yaml
warn  --- http address - http://0.0.0.0:4873/[/code] 

使用

私有仓库已经有了,下面来看看怎么使用,这里我们使用了nrm来管理私有仓库。(可以参考我的前一篇博客)

添加私有仓库

$ nrm add mynpm http://192.168.0.123:4873[/code] 

使用私有仓库

$ nrm use mynpm


测试私有仓库

$ mkdir test
$ cd test
$ npm install webpack # 第一次安装比较慢
...

$ rm -rf webpack
$ npm install webpack # 第二次安装就比较快了
...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nodejs