部署npm私服-verdaccio 基于nginx

服务器:linux
系统环境:centos 7
软件环境:node

安装nodejs

sudo yum install epel-release
sudo yum install nodejs
node --version

node版本问题

版本管理工具:n
npm install -g n

安装指定版本:
n 版本

关于node版本

n 会列出所有安装的版本供你切换
n latest 安装最新版本
n stable 安装最新稳定版
n lts 安装最新长期支持版本
n rm [版本号] 删除某一版本
n -h 帮助命令
n [版本号] 安装指定版本node

验证是否安装成功

node -V

verdaccio

unsafe-perm是防止报grywarn权限的错
npm --registry https://registry.npm.taobao.org install -g verdaccio --unsafe-perm

默认端口

verdaccio默认端口4837

可以修改配置

vi /root/.config/verdaccio/config.yaml

测试verdaccio安装成功
verdaccio 命令

pm2进程守护

npm --registry https://registry.npm.taobao.org install -g pm2 --unsafe-perm

使用pm2来启动verdaccio

pm2 start verdaccio

查看verdaccio实时日志

pm2 show verdaccio

查看verdaccio日志

tail /root/.pm2/logs/verdaccio-out.log

安装完成后怎么用?

注意:如果你要用nginx,可能会让你监听80端口而且是根80(暂未深究)


 server {
     
        listen       80;
        #server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {
     
         #   root   html;
         #   index  index.html index.htm;
        #}


        server_name verdaccio;
        #location / {
     
        #     proxy_pass http://127.0.0.1:4873/;
        #}

location / {
     

# 真实发出请求的客户端IP
                proxy_set_header X-Real-IP $remote_addr;
  # 记录代理信息,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For中
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 # $host变量的值按照如下优先级获得:
# 请求行中的host.
# 请求头中的Host头部.
# 与一条请求匹配的server name.
                proxy_set_header Host $host;
 # 用于识别协议(HTTPHTTPS),其中使用的客户端连接到代理或负载平衡器一个真实的标准报头
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_pass http://localhost:4873/-/;
    # off参数取消proxy_redirect从先前配置级别继承的指令的效果
        proxy_redirect off;
 }
     #error_page  405 =200 $uri;

访问 verdaccio

根据ip可以访问到如下页面,就算部署成功了,
部署npm私服-verdaccio 基于nginx_第1张图片

根据提示的步骤 添加用户,发布一个包,刷新页面就行了
在这里插入图片描述

此时你处于安装的服务端,此时你用npm你的命令指向的仓库是npm官方仓库,在本地搭建我们希望优先用本地的仓库,所以为我们要切换npm源头

先安装一个源切换工具如:nrm

npm install -g nrm

如果nrm报错(常见于window)

cli.js

//const NRMRC = path.join(process.env.HOME, '.nrmrc'); (删除)
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

然后增加本地私有源

nrm add [本地源名称] http://localhost:4873

查看可选源头

nrm ls

使用本地源

nrm use [源名称]

其他的nrm常用命令

测试速度(测试源的相应时间)
nrm test
将npm切换指定的源

nrm use [name]
比如taobao:nrm use taobao
 //Registry has been set to: http://registry.npm.taobao.org/

跳转到指定源的官网
npm home [name]

那么内网其他怎么用呢?

同样安装nrm,然后nrm指向 服务器地址+源名称 这样就切到我们自己的服务

手动指向服务器和添加用户

当前npm 服务指向 本地
npm set registry http://localhost:4873
注册用户
npm adduser registry http://localhost:4873

查看当前用户,是否是注册用户.
npm who am i

你可能感兴趣的:(前端项目,npm私服,verdaccio,vue组件库)