NodeJS學習:搭建私有NPM


工具

  • verdaccio
  • nrm
  • pm2

特點

verdaccio 的特點:

  • 不同步拉取npm庫,占據大量硬盤,沒有硬盤被撐爆的問題;
  • 安裝配置極其簡單,不需要數據庫;
  • 支持配置上游registry配置,拉取即緩存;
  • 支持forever及pm2守護進程管理;
  • 私有npm package 管理
  • 支持 docker 等應用容器

verdaccio 是上一個 sinopia 的交叉分支。

安裝 verdaccio

npm i verdaccio -g

安裝好后,執行 verdaccio 即可以看到本地 NPM 的web管理界面。

更換 registry

不推薦

npm config set registry http://

推薦

npm i nrm -g

nrm list | nrm ls
nrm add [name] [http://url]
nrm use [name]
nrm del [name]

創建NPM賬號

npm adduser | npm adduser --registry  http:// localhost:4873 /
username:***
password:***

其它用戶相關命令:

npm login  #登陸
npm logout #退出
npm whoami #查看當前用戶

發布package

npm publish

升級版本號

npm version patch #升級補丁版本號
npm version minor #升級副版本號
npm version major #升級主版本號

verdaccio - profile

verdaccio 的配置文件是默認存放在用戶目錄中的,在window上其路徑是:~\Users\Administrator\.config\verdaccio

  • storage : 存放 npm包的目錄。
  • config.yaml : verdaccio 的配置文件
  • htpasswd : 用於保存注冊的用戶。

config.yaml說明

##設置NPM包的存放目錄
storage: ./storage   

# 配置WEB UI界面
web :
    title : '搭建私有NPM'
    #logo : logo.png

## 設置用戶驗證的文件。
auth:                
  htpasswd:
    file: ./htpasswd
    max_users: 1000   #默認為1000,改為-1,禁止注冊

# 設置其它的npm注冊源(registry)
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

#配置權限管理
packages:
  '@*/*':
    #表示哪一類用戶可以對匹配的項目進行安裝 【$all 表示所有人都可以執行對應的操作,$authenticated 表示只有通過驗證的人可以執行對應操作,$anonymous 表示只有匿名者可以進行對應操作(通常無用)】
    access: $all
     #表示哪一類用戶可以對匹配的項目進行發布
    publish: $authenticated

  '*':
    #表示哪一類用戶可以對匹配的項目進行安裝
    access: $all

    #表示哪一類用戶可以對匹配的項目進行發布
    publish: $authenticated

    # 如果一個npm包不存在,它會去詢問設置的代理。
    proxy: npmjs

# 日志輸出設置
logs:
  - {type: stdout, format: pretty, level: http}
  #- {type: file, path: verdaccio.log, level: info}

#修改監聽的端口
#listen: 0.0.0.0:4873  

PM2啟動 verdaccio

pm2 start verdaccio

還需要...

  • 在服務器上搭建
  • 按需進行用戶權限分組?
  • Nginx代理

http://www.verdaccio.org/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM