zoukankan      html  css  js  c++  java
  • 用sinopia搭建内部npm服务

    sinopia搭建

    这里默认你已经有node环境了,执行下面命令,全局安装 sinopia

    npm install -g sinopia

    安装好后,执行下面命令启动 sinopia

    sinopia

    你会看到下面两行提示:

    warn  --- config file - /root/.config/sinopia/htpassw

    warn --- http address - http://localhost:4873/

    上面一行是 sinopia 的配置文件所在路径,下面一行是 sinopia 服务的域名和端口号

    然后打开 http://localhost:4873/,如果能正常访问,说明安装成功

    node服务非常脆弱,一般在实际中使用都会配合守护进程。这里我用的是 pm2 做守护进程

    首先全局安装 PM2,执行下面语句:

    npm install -g pm2

    再执行下面语句,通过 PM2 启动 sinopia:

    pm2 start `which sinopia`
    pm2 start
    sinopia

    停止服务

    pm2 stop sinopia

    在 sinopia 服务上安装包 and 发布

    环境和用户问题已经解决,那么接下来我们试试在我们的服务商发布自己的包

    这里推荐用 nrm 来管理 npm 的镜像地址,非常方便

    首先全局安装 nrm:

    npm install -g nrm

    然后添加虚拟机npm 服务镜像地址:

    nrm add my http://192.168.2.18:4873

    使用虚拟机镜像:

    nrm use my

    其他常用的 nrm 命令:

    nrm --help #查看 nrm 命令帮助 nrm list #列出可用的 npm 镜像地址 nrm use taobao #使用'淘宝npm'镜像地址

    上面我们把本机的 npm 切换到虚拟机镜像后吗,用它来安装 gulp:

    npm install gulp

    当然,我们的服务是刚刚建好的,上面还没发布任何包,但我们依然能成功安装

    因为 sinopia 发现服务中没有你要下载的包,就会到 taobao 镜像去下载

    添加用户

    1. $npm adduser --registry http://localhost:4873/

    2. Username: clc

    3. Password: clc

    4. Email: (this IS public) cc@cc.cc

    安装包没问题,然后就是发布我们自己的包了

    上面已经提到如何创建用户,这里就不再细说

    发布之前要用下面命令登录:

    npm login

    添加完用户后,可以使用npm 登陆

    1. $npm login

    2. Username: clc

    3. Password: clc

    4. Email: (this IS public) clc@cc.com

    5. Logged in as clc on http://localhost:4873/

    进入我们要发布的包根目录,然后执行初始化命令创建 package.json (已经初始化的话,跳过这步):

    npm init

    根据提示输入包信息,初始化完成后就可以发布了

    然后在根目录执行下面命令:

    npm publish

    发布成功后,你就可以像安装别的包那样安装自己发布的包了

  • 相关阅读:
    Android开发加快sdk更新速度
    Java 解决约瑟夫问题
    单例模式之我见
    用Java来写常见的排序算法
    一位大牛写的单例
    watchdog监控文件变化使用总结——转载
    python-tkinter使用方法——转载(二)
    python-tkinter使用方法——转载(一)
    python中字符串操作
    python中os模块操作目录与文件名小结
  • 原文地址:https://www.cnblogs.com/cangqinglang/p/9635392.html
Copyright © 2011-2022 走看看