首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搭建NPM私库

写在前面

不知不觉也已经成了个中年程序员,npm install了有些年头了,想着是时候给开源社区做点贡献了,可日常的业务代码似乎也很难抽象出一些东西来,归拢起来还是为了特殊的业务实现,于是作罢。闲暇时了解了一下私库的概念,觉得可以实践一下,小范围开源,也是不错的嘛~

环境和工具准备

node就不说了,稳定版就行。

verdaccio

verdaccio是一个轻量级npm代理工具,前身是sinopia。它的作用是通过几乎零配置,搭建一个npm服务,通过简单注册用户以后,就可以往上面发布和下载项目。

nrm

nrm是npm注册路径的一个管理工具,可以很方便得添加删除和切换registry url,比方把我们的私库地址注册到npm里。

pm2

部署工具,好用不贵。

安装

全局安装好verdaccio和nrm。

命令行输入verdaccio

成功的话就可以在http://localhost:4873/ 看到npm界面了,这个端口就是我们私库的端口。

添加地址到npm

先通过nrm add把它加到自己的npm地址列里去,比如nrm add bravo http://localhost:4873/,然后nrm use bravo就好了,这样我们的默认地址就是这个了。

注册用户

接下来添加用户,通过npm adduser命令,输入自己的用户名密码邮箱就好了。

然后就可以通过npm publish发布包了。

我们随便建一个test,npm init一下,然后npm publish。可以看到,在4873上已经有了。

下载依赖

一样一样的,npm install或者yarn add你的库。前提是npm的源已经改过咯。

当下载的库在你的私库里没有的时候,它会自动去找默认配置里uplinks里的地址去查询,默认就是npmjs.org。

我们可以通过修改配置,把这个地址改成淘宝镜像,这样不翻墙也没问题啦~

具体操作就是修改配置文件,是个yaml文件,位置就是你运行verdaccio的时候自动打印出来的config file的地址。

我们找到uplinks里的npmjs,修改这个url,如下就可以了。

除了通过nrm设置全局的npm源以外,也可以通过在项目中放一个.npmrc文件的方式,使npm仅在这个项目中,使用这个源。

通过ip访问

目前只能通过localhost访问,显然不是我们想要的,那么也一样,通过修改配置里的listen,如下就可以了。

listen:

# - localhost:4873 # default value

# - http://localhost:4873 # same thing

-0.0.0.0:4873# listen on all addresses (INADDR_ANY)

# - https://example.org:4873 # if you want to use https

# - [::1]:4873 # ipv6

# - unix:/tmp/verdaccio.sock # unix socket

删除库

在开源的npm社区,一旦你发布了一个库,是删不掉的,但我们这是私库,所以可以为所欲为。

当有不需要的库时,直接去\storage里删掉就好了

位置就跟配置文件一起 /root/.config/verdaccio/storage

pm2部署

pm2 start verdaccio

o了~

写在后面

其实搭建私库也是个促进自己生产的方式,比起把代码复制黏贴,再修修补补,那还是yarn add,vue.use来得舒服~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425G18N2E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券