可搜索,可注册,可登录,致敬逗比大佬!尽在救援版逗比根据地 dbgjd.com
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

搭建本地NodeJS仓库-Verdaccio

News tysonrapz1984 73℃ 0评论

NodeJS的私有仓库,第一时间想到的应该是sinopia(https://github.com/rlidwka/sinopia),但是作者已经弃坑好几年了

 

在网上查找说是verdaccio是sinopia fork的一个分支,继续开源做的,很多人一起维护更新,看上去还不错,更新频率还是挺频繁的,一时半会弃坑不了,所以选取verdaccio作为NodeJS的私有仓库

Github地址:https://github.com/verdaccio/verdaccio

搭建本地NodeJS仓库-Verdaccio

选用本地私有仓库的原因

每次在容器镜像内部进行npm install或在服务器上进行操作时,尽管源设置为淘宝的npm但还是很慢,碰到使用比较多的模块,大概需要五分钟时间才能安装好模块,遂谋生了做本地私有仓库的想法,在网上查找后,选取了verdaccio作为NodeJS的本地仓库,这种本地仓库有两个好处,第一个好处是,涉及到公司的业务机密模块,需要相互调用,但又不想上传到云上,就可以选取建立本地仓库的形式;第二种好处是,如果项目需要调用很多模块,每次都去公网上重新拉取的话,会浪费大量的时间,尤其是像我们的项目是在docker内部进行构建代码,每次build都要下载很多module,这样会浪费不必要的时间,如果使用本地仓库的话,在本地仓库设置上联公网npm仓库,通过本地仓库来拉取模块,这样模块就会缓存在本地仓库中,第二次再次拉取的时候,速度就会快许多;第三就是权限管控的功能,如果开发人员比较多的话,就可以比较好的去进行权限管控,不同的项目根据不同的人会有不同的访问或者读写权限。

构建过程

1.安装node环境

I.通过tar包安装

官网上下载https://nodejs.org/en/download/current/,然后解压,配置环境变量,相对来说比较简单。

II.通过yum进行安装

https://www.cnblogs.com/codeyou/p/9327205.html

Github:https://github.com/nodesource/distributions

NodeJS 11.x

curl -sL https://rpm.nodesource.com/setup_11.x | bash –

NodeJS 10.x

curl -sL https://rpm.nodesource.com/setup_10.x | bash –

NodeJS 8.x

curl -sL https://rpm.nodesource.com/setup_8.x | bash –

NodeJS 6.x

curl -sL https://rpm.nodesource.com/setup_6.x | bash –

安装依赖

yum groupinstall ‘Development Tools’

安装nodejs

yum install -y nodejs

2.安装verdaccio

加上–unsafe-perm的原因是防止报grywarn权限的错。

npm install -g verdaccio –unsafe-perm

配置全局变量

find / -name verdaccio

ln -s /root/.npm-global/bin/verdaccio /usr/local/bin/verdaccio

3.配置verdaccio

修改配置文件

verdaccio 的特点是,你在哪个目录运行,它的就会在对应的目录下创建自己的文件。

打开默认启动的config.yaml文件。

vim /root/.config/verdaccio/config.yaml

配置文件最后添加

listen: 0.0.0.0:4873                    # listen on all addresses

verdaccio继承了sinopia,端口号4873依然不变

修改storage地址

storage:

/opt/npmstorage

 

4.启动verdaccio

4.1 直接启动

在命令行中直接输入verdaccio

[[email protected] opt]#   verdaccio

Verdaccio doesn’t   need superuser privileges. Don’t run it under root.

warn — config file  – /root/.config/verdaccio/config.yaml

warn — Plugin successfully loaded:   htpasswd

warn — Plugin successfully loaded: audit

warn — http address – http://localhost:4873/ – verdaccio/3.10.1

// 显示信息,

第一句是配置文件的地址,

第二句,给了我们地址,访问便可以看到我们的私服已经搭建成功了。

目前还没有往上发布过包,所以没有任何包的信息。当我们打开页面还可以看到服务器这边有访问记录,控制台的日志一直在更新。

搭建本地NodeJS仓库-Verdaccio

4.2 使用pm2作为verdaccio的守护进程

第一种方法可以正常启动verdaccio,但是不推荐使用这种方式,需要这个命令在后台一直运行,使用screen或者nohup命令,故使用pm2对verdaccio进程进行托管启动。

安装pm2并使用pm2启动verdaccio,使用pm2托管的进程可以保证进程永远是活着的,尝试通过kill -9去杀verdaccio的进程发现杀了之后又自动启起来。推荐使用此种方式启动verdaccio.

4.2.1 安装pm2

npm install -g pm2 –unsafe-perm

4.2.2 配置全局变量

find / -name pm2

ln -s /root/.npm-global/bin/pm2 /usr/local/bin/pm2

4.2.3 使用pm2启动verdaccio

pm2 start verdaccio

4.2.4 查看pm2 守护下的进程verdaccio的实时日志

pm2 show verdaccio

搭建本地NodeJS仓库-Verdaccio

5.添加用户

npm adduser   –registry http://192.168.XX.XX:4873        //后面是我们的私服地址

类似如下:

Username: lk

Password: 

Email: (this IS   public) [email protected]

Logged in as rong on http://192.168.XX.XX:4873/.

 

转载请注明:逗比根据地 » 搭建本地NodeJS仓库-Verdaccio

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址