乐趣区

关于npm:Linux服务器上-从0-到1-使用-verdaccio搭建npm私有化仓库

从后端那里要来了一个服务器,下面啥都没有,想要搭建一个 npm 私有化仓库 放一些公司我的项目的公共组件,还有我的项目的 SDK,搞成库 引入到我的项目中去应用。这就开搞。

首先登录服务器,

搭建环境

第一步,装置 nodejs

yum install -y epel-release
yum install -y nodejs

node -v 查看一下

好家伙 版本这么低!才 6.17.1
降级一下版本,装置一下 nodejs 包管理工具

npm install -g n

罕用的一些命令:

n stable // 把以后零碎的 Node 更新成最新的“稳固版本”n lts // 长期反对版
n latest // 最新版
n 10.14.2 // 指定装置版本
n  // 查看已装置的版本
n rm 10.14.2  // 删除指定版本

命令行输出 n 回车

抉择一个版本再次回车
node -v 再次查看,版本显示还是v6.17.1 切换了版本怎么没变动!

百度,发现以后版本不是最新的版本,而后曾经装置有了最新的版本,造成不失效的起因:
node 默认的装置目录与应用管理工具 n 装置的目录不统一,

解决办法:
查看以后 node 装置门路

which node

而 n 默认装置门路是 /usr/local,以后 node 的装置门路与 n 的门路不统一,须要通过通过 N_PREFIX 变量来批改 n 的默认 node 装置门路。

编辑环境配置文件:vim ~/.bash_profile

批改 node 装置地位:在开端减少export PATH=/usr/local/bin:$PATH shift+:wq 保留退出

让新配置失效:source ~/.bash_profile

重新安装稳固版本:n stable

查看以后 node 版本:node -v (曾经是最新的稳固版本了)

好了,能够开始闲事了,装置verdaccio!

装置verdaccio

npm i -g verdaccio

命令行输出 verdaccio 回车 启动verdaccio, 能够看到第一行的配置文件地址:

config file  - /root/.config/verdaccio/config.yaml

在配置文件的最初一行加上listen: 0.0.0.0:4873, 默认没有这一行的,只能在本机拜访,增加后能够通过外网拜访。

pm2守护 verdaccio 过程

  1. 装置 pm2
    npm install -g pm2
  2. 应用 pm2 启动 verdaccio
    pm2 start verdaccio
  3. 查看 pm2 守护下的过程 verdaccio 的实时日志
    pm2 show verdaccio
  4. 实时查看该门路下的日志命令
    tail -f /home/admin/.pm2/logs/verdaccio-out-0.log

配置过程中有几个命令罕用到

netstat -tunlp  // 查看所有的端口过程
netstat -tunlp|grep 端口号  // 查看指定的端口号
kill 端口号  // 杀死指定的端口号过程
telnet ip 地址 端口号  // telnet 须要装置, 查看该地址 该端口是否被应用
// 例如
telnet localhost 4873
telnet 192.168.0.1 4873

这时候服务器配置好了,比方服务器的地址是 192.168.0.1, 失常在咱们浏览器拜访http://192.168.0.1:4873 就能够拜访到(端口要加,防火墙要敞开!)

治理源 公布包

接下来咱们就要公布包到咱们的私有化仓库下面去!
先装置一个切换 npm 源的工具nrm

npm i nrm -g
nrm list 或者 nrm ls // 查看源列表
nrm add [name] [源 url]  // 增加源
nrm use [name]  // 应用源
nrm del [name]  // 删除源

应用 nrm use 切换到刚创立的私有化仓库的地址
登录:

npm whoami // 查看以后登录用户
npm adduser --registry http://yourip:4873/

公布

npm publish --registry http://yourip:4873/
// 如果你切换到以后源了 间接 npm publish 即可

而后刷新 就能够看到你公布的包了!

更新包:

1. 批改 package.json version 字段的版本号
2. 命令行:npm publish

参考:
https://verdaccio.org/docs/zh…
降级 node 后还是原来版本的问题
Linux 装置 telnet
https://www.cnblogs.com/kunmo…

退出移动版