为什么要搭建npm私有库?
  1. 为了方便下载时,公共包走npmjs,私有包走内部服务器。
  2. npm包下载的速度较慢,搭建npm私有库之后,会先操作私有库中是否有缓存,有缓存直接走缓存,而不用重新再去请求一遍网络。
哪种方式适合你呢?

npm私有库的搭建有很多种,具体哪种方式适合,我选择的方案是比较简单的“使用verdaccio搭建npm私有库”。

先试着在本地搭建一个吧

  1. 准备工作

    我们需要使用npm命令去安装verdaccio,所以我们必须要有node环境,node环境又依赖于python。因此,在搭建npm私有库的准备工作就是去搭建node环境。

    1. 检测是否有node环境

      chenwentaodeiMac:ceair_wallet chenwentao$ node -v
      bash: node: command not found
      复制代码
    2. 下载node

    3. 安装node

    4. 检验是否安装成功

      chenwentaodeiMac:ceair_wallet chenwentao$ node -v
      v10.15.1
      复制代码
  2. 安装启动verdaccio
    1. 安装verdaccio

      安装速度缓慢的话,可以使用淘宝镜像,install时遇到permission denied,记得前面加sudo

      chenwentaodeiMac:ceair_wallet chenwentao$ sudo cnpm install -g verdaccio
      复制代码
    2. 启动verdaccio

      启动成功后,打开http://localhost:4873/,看到界面就表示成功了

      chenwentaodeiMac:ceair_wallet chenwentao$ verdacciowarn --- config file  - /Users/chenwentao/.config/verdaccio/config.yaml  //配置文件warn --- Plugin successfully loaded: htpasswd //保存用户账户、密码等信息warn --- Plugin successfully loaded: auditwarn --- http address - http://localhost:4873/ - verdaccio/3.11.4 //地址
      复制代码
  3. 配置文件

    默认的配置文件允许所有的用户拥有任何的权限。

    #
    # 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/verdaccio/verdaccio/tree/master/conf
    ## path to a directory with all packages 存储npm包的路径
    storage: ./storage
    # path to a directory with plugins to include
    plugins: ./pluginsweb:# WebUI is enabled as default, if you want disable it, just uncomment this line # web页面的配置 即上面的http://localhost:4873/ 默认为可访问。title就是标题,可以修改#enable: falsetitle: Verdaccioauth:
    # 保存用户账户、密码等信息文件,可以将max_users设置为-1禁止用户添加,从而通过修改htpasswd来添加用户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
    # 访问公共库的路径,可以修改成淘宝镜像 https://registry.npm.taobao.org
    uplinks:npmjs:url: https://registry.npmjs.org/packages:'@*/*':# scoped packagesaccess: $allpublish: $authenticatedproxy: npmjs'**':# 配置权限# 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' registryproxy: npmjs# You can specify HTTP/1.1 server keep alive timeout in seconds for incomming connections.
    # A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
    # WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enought.
    server:keepAliveTimeout: 60# To use `npm audit` uncomment the following section
    middlewares:audit:enabled: true# log settings
    logs:- {type: stdout, format: pretty, level: http}#- {type: file, path: verdaccio.log, level: info}
    #  配置之后相同wifi下其他电脑也可以访问了 访问地址为你的ip加上端口4873
    listen: 0.0.0.0:4873复制代码
  4. 客户端配置

    本地的私有仓库已经搭建好了,接下来我们需要通过客户端配置registry来使用我们的私有仓库。在浏览器中打开http://10.68.18.154:4873/时,会有提示(10.68.18.154是本机的IP地址)

    Login:

    npm adduser --registry  http://10.68.18.154:4873
    复制代码

    Publish:

    npm publish --registry http://10.68.18.154:4873
    复制代码

在linux服务器上尝试一下

刚才,我们在本地构建了一个npm私有库,现在我们到Linux服务器上尝试一下吧。首先,检测一下有没有安装node和python,如果没有安装就进行安装,那么我们接下来来安装一下。

  1. 安装python

    在Linux上安装python,需要用命令行去操作。

    下载

    解压

  2. 安装node

    下载

    解压

    接下来和本地一样去创建npm私有库,创建完之后让我们永久的运行verdaccio吧。

  3. 永久运行verdaccio

    sudo npm install -g forever
    forever start `which verdaccio`
    复制代码

转载于:https://juejin.im/post/5c92dbadf265da611360391e

前端人员如何在linux服务器上搭建npm私有库相关推荐

  1. linux mysql搭建禅道详细教程_如何在Linux服务器上部署禅道

    目前较受欢迎的开源项目管理软件:禅道. 这是一款国产的优秀开源项目管理软件,基于敏捷项目管理理念开发而成,操作简洁,能够很好地满足目前团队中的产品.开发.测试等人员的使用. 下面详细介绍如何在Linu ...

  2. 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群

    作者:高天赐 编辑:Irene Pulsar 是一个支持多租户的.高性能的消息中间件.上一篇我们介绍了如何在 Mac 上搭建 Pulsar 集群,本文详细介绍如何在 3 台 Linux 服务器上搭建 ...

  3. 如何在linux服务器上使用hanlp

    关于如何在linux服务器上使用hanlp也有分享过一篇,但分享的内容与湘笑的这篇还是不同的.此处分享一下湘笑的这篇hanlp在linux服务器上使用的文章,供新手朋友学习之用. 本文主要工作是在li ...

  4. 如何在 Linux 服务器上安装 Red5?

    安装 Red5 服务启动脚本下载地址         要在 Linux 服务器上安装 Red5,应该先安装 JDK 和 ANT.可以参考< 如何在 64 位 linux 机器上安装 jdk1.6 ...

  5. 如何在 Linux 服务器上更改分区方案?

    在 Linux 服务器上,分区方案对于数据存储和系统管理至关重要.当服务器的存储需求发生变化或者需要重新组织分区时,更改分区方案是一个常见的任务. 本文将详细介绍如何在 Linux 服务器上更改分区方 ...

  6. jq fileupload 设置最大文件大小5m_如何在 Linux 服务器上设置 ulimit 和文件描述符数限制 | Linux 中国...

    在生产环境中遇到打开文件数这类的挑战如今已是司空见惯的事情了.-- Shashidhar Soppin 
简介:在生产环境中遇到打开文件数这类的挑战如今已是司空见惯的事情了.因为许多应用程序是基于 J ...

  7. Linux服务器上搭建Python+Selenium+Chrome的运行环境(静默模式、无图形)

    本文是<统计CSDN博客的访问量>的部署篇,为了持续统计CSDN的访问量.并进行分析,因此需要在Linux上搭建Selenium + Chrome driver的运行环境 安装Seleni ...

  8. 搭建远程linux,如何在远程Linux服务器上搭建Nginx?

    1.将nginx的压缩包nginx-1.8.0.tar.gz上传到Linux服务器 2.由于nginx是C语言开发的并且我们这里是通过编译nginx的源码来安装nginx,所以Linux上要安装C语言 ...

  9. linux部署jar项目报错_如何在Linux服务器上部署jar包

    启动程序方法 1.上传jar包到linux服务器下 2.启动jar包 ​前台模式 java –jar XXXX.jar(注意这个命令启动时,断开服务连接后,服务就关闭了) ​后台模式 nohup ja ...

最新文章

  1. 2020-12-03 Python OpenCV: 图片的裁剪
  2. 深入理解 Vuejs 动画效果
  3. window.open与window.location.href
  4. IDEA新建maven项目漏掉webapp目录解决方法
  5. path弧形参数 svg_如何计算圆弧(圆弧)的SVG路径
  6. 【matplotlib】绘制动态图像
  7. 【数字信号处理】基于matlab GUI频谱分析仪【含Matlab源码 932期】
  8. [github高级控件] 带你走近 - CircleIndicator指示器原点动画切换
  9. springboot连接redis进行CRUD
  10. SHA1算法原理(转载)
  11. matlab更改安全密钥,Linux下设置安全密钥登录
  12. 计算机3d相册代码,3D水晶相册代码【有显示图】
  13. 北语计算机保研,北京中医药大学2021届保研率14.4%,北京语言大学2021推免率10.8%...
  14. 基于ESXi虚拟服务器搭建
  15. Ant Design Of react modal框动态控制footer展示或者隐藏
  16. SaaS(软件即服务)的魅力
  17. Apollo星火计划学习笔记——Control 专项讲解(PID)
  18. 50 行代码,实现中英文翻译 1
  19. 智汇云校携手院校组织数千学生参加“2020华为中国大学生ICT大赛”
  20. 《PPT思维》第一课:PPT基础思维

热门文章

  1. 第6章 Python 数字图像处理(DIP) - 彩色图像处理2 - 灰度分层(灰度分割)和彩色编码,灰度值到彩色变换,Gray to RGB
  2. WebFlux02 SpringBoot WebFlux项目骨架搭建
  3. getchar的利用
  4. Android Listview 性能优化
  5. 非监督学习的单层网络分析
  6. 基本响应性的Web设计测试工具
  7. C#中的Clipboard与ContextMenuStrip应用举例
  8. Asp.net(C#)-显示所有缓存 清除所有缓存
  9. java金字塔的流程图,R中的金字塔图
  10. 修改oracle用户资源限制,RHEL5中安装Oracle11gR2修改用户SHELL限制、环境配置、内核参数...