使用Sinopia搭建私有npm仓库

在用npm装包的时候,每次都要下载一大堆,慢且不说,npm还老被墙,所以就想到在公司内部搭建npm仓库镜像。大概看了几个,觉得Sinopia最简单也好用,所以就使用Sinopia搭建仓库吧。

安装

sudo npm install -g sinopia

配置与运行

安装完成后,暂时不知道配置文件在哪里,可以先运行一下 sinopia,比如:

$ sinopia
 warn  --- config file  - /home/<user>/.config/sinopia/config.yaml
 warn  --- http address - http://localhost:4873/

从上面命令输出可以看到配置文件路径:/home//.config/sinopia/config.yaml

下面修改配置文件,在最后加上一行 “listen: 0.0.0.0:4873”,目的是为了可以从别的机器上也能访问 sinopia 仓库。

#
# 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/rlidwka/sinopia/tree/master/conf
#

# path to a directory with all packages
storage: /home/jhadmin/.local/share/sinopia/storage

auth:
  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
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@*/*':
    # scoped packages
    access: $all
    publish: $authenticated

  '*':
    # 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' registry
    proxy: npmjs

# log settings
logs:
  - {type: stdout, format: pretty, level: info}
  #- {type: file, path: sinopia.log, level: info}

listen: 0.0.0.0:4873

修改完成后再次启动 Sinopia 服务,如下:

$ sinopia
 warn  --- config file  - /home/<user>/.config/sinopia/config.yaml
 warn  --- http address - http://0.0.0.0:4873/

使用

私有仓库已经有了,下面来看看怎么使用,这里我们使用了nrm来管理私有仓库。(可以参考我的前一篇博客)

添加私有仓库

$ nrm add mynpm http://192.168.0.123:4873

使用私有仓库

$ nrm use mynpm

测试私有仓库

$ mkdir test
$ cd test
$ npm install webpack # 第一次安装比较慢
...

$ rm -rf webpack
$ npm install webpack # 第二次安装就比较快了
...

使用Sinopia搭建私有npm仓库的更多相关文章

  1. 使用Sinopia部署私有npm仓库

    使用Sinopia部署私有npm仓库 [root@localhost ~]# hostnamectl set-hostname --static npm-server [root@npm-server ...

  2. 利用Sinopia搭建私有npm包

    1.安装sinopia包 npm install -g sinopia 如果是Windows系统用上面的方式安装sinopia很有可能报错,推荐使用下面方式安装: npm install sinopi ...

  3. 使用cnpm搭建私有NPM仓库 发布npm包

    关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...

  4. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关 ...

  5. 使用cnpm搭建企业内部私有NPM仓库

    cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案.它同时解决了现有npm架构的一些问题. 为什么企业需要私有NPM 主要有如下理由: 确保npm服务快速.稳定:对于企业来说,上线生产系统的时 ...

  6. 私有 npm 仓库的搭建

    cnpm 是企业内部搭建 npm 镜像和私有 npm 仓库的开源方案,当企业业务逻辑相关的模块可能不适合开源.这部分私有的模块就可以放在私有 npm 仓库中来管理和维护. 以下为搭建私有 npm 的详 ...

  7. NodeJS学习:搭建私有NPM

    工具 verdaccio nrm pm2 特点 verdaccio 的特点: 不同步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题: 安装配置极其简单,不需要数据库: 支持配置上游registry配 ...

  8. 怎么在 CentOS 6 上配置私有 NPM 仓库?

    Sinopia 是一个简单易用的私有 NPM 仓库服务器.在 CentOS 6 上安装时,遇到如下报错(Node 版本 6.9.1) #error This version of node/NAN/v ...

  9. Android业务组件化之Gradle和Sonatype Nexus搭建私有maven仓库

    前言: 公司的业务组件化推进的已经差不多三四个月的时间了,各个业务组件之间的解耦工作已经基本完成,各个业务组件以module的形式存在项目中,然后项目依赖本地的module,多少有点不太利于项目的并行 ...

随机推荐

  1. 20145314郑凯杰《信息安全系统设计基础》第9周学习总结 PART B

    20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核: ...

  2. 前端小炒的win7使用笔记(收藏篇)

    收藏篇 此中技巧及使用笔记,大多为冲浪时无意间发现,进而总结,其中种种小超都已一一验证过. 传说中WIN7上帝模式可查看200多项系统设置项目 在桌面创建文件夹,命名为 GodModel.{ED7BA ...

  3. ubuntu系统samba服务的安装配置

    安装 sudo apt-get install samba 配置 打开Samba配置文件: sudo gedit /etc/samba/smb.conf 在其最后添加: [share] path = ...

  4. 迟到的thuwc&noiwc2018总结

    已经4个多月没写博客了呢. thuwc和noiwc都炸了,接下来的一段时间都没怎么写题,靠文化课和游戏麻醉自己.这篇博客也算是向之前自闭.颓废的自己告别吧.. 先写一发游记: thuwc:Day1炸, ...

  5. 解决node-sass安装不了的问题

    1.下载https://github.com/sass/node-sass-binaries/blob/master/win32-x64-48_binding.node到E:\primeng\lib目 ...

  6. springMVC注解的入门案例

    1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  7. 解题报告:poj1083 Moving tables

    2017-09-02 19:49:59 writer:pprp 题意说明: 比较简单的题,一开始被吓到了,后来才发现,其实可以用很简单的方法就可以解决: 就是在这样的房间中如果在i 和 j 中之后的1 ...

  8. docker 集群 笔记

    docker 集群 Docker 容器 移除所有的容器和镜像(大扫除) 用一行命令大扫除: docker kill $(docker ps -q) ; docker rm $(docker ps -a ...

  9. Jenkins Pipeline shell脚本用svn_revision当做系统版本号

    1. 使用dir命令,进入发布目录,版本号所在文件夹. 2. 使用sed命令 修改替换版本号,这里使用vvvv作为要替换的版本号. 3. 最后一步可以不加.只是方便查看效果. stage(" ...

  10. 简单易用的分页类实例代码PHP

    <?php /*********************************************** * @类名: page * @参数: $myde_total - 总记录数 * $m ...