摘要:本文介紹如何使用搭建私有倉庫,以及使用時如何映射到本地目錄,方便簡單對倉庫進行各種操作。其次,創建目錄,并添加的配置文件。當需要把某個項目發布到私有庫時,直接。使用包名,即可安裝私有包了。
本文介紹如何使用 verdaccio
搭建私有npm倉庫,以及使用 docker
時如何映射到本地目錄,方便簡單對倉庫進行各種操作。系統環境是 Linux。
verdaccio
是一個開源的輕量的私有 npm proxy registry
(npm 代理資源庫),安裝使用都非常方便。
forked自 sinopia@1.4.0
。
npm / yarn
進行全局安裝Node.js v12+
npm 4.x+ 或yarn
全局安裝
npm install -g verdaccioyarn global add verdaccio
啟動
verdaccio或者使用 pm2 start verdaccio
使用瀏覽器訪問web服務,端口號4873,http://0.0.0.0:4873
,訪問成功就可以了。
docker
鏡像安裝安裝 docker
,略
在 docker
下安裝 verdaccio
鏡像
使用如下命令即可:
docker pull verdaccio/verdaccio
安裝鏡像成功:
運行 verdaccio
,使用 docker
命令運行鏡像,創建 verdaccio
容器
// 名稱verdaccio, 端口 4873docker run -it --name verdaccio -p 4873:4873 verdaccio/verdaccio
啟動容器成功:
啟動成功以后,實際上就可以在瀏覽器訪問了,http://0.0.0.0:4873
。
接下來先介紹幾個操作容器的 docker
命令。
docker
操作容器的部分命令
新建并啟動:docker run CONTAINER
啟動停止的容器:docker start CONTAINER_ID
查看容器:docker container ls (docker ps)
停止容器:docker stop CONTAINER_ID
刪除容器:docker rm CONTAINER_ID
映射本地目錄
首先,創建 /home/verdaccio
目錄,以下在該目錄下操作。
其次,創建 conf
目錄,并添加 verdaccio
的 config.yaml
配置文件。
接著處理映射目錄,一般有以下兩種方式:
直接映射本地目錄,啟動 verdaccio
docker run -it --name verdaccio -p 4873:4873 -v /home/verdaccio/storage:/verdaccio/storage -v /home/verdaccio/conf:/verdaccio/conf -v /home/verdaccio/plugins:/verdaccio/plugins verdaccio/verdaccio
-v:容器目錄映射到本地目錄
或者使用 docker-compose
啟動
添加 docker-compose.yml
文件,使用 docker-compose up
命令啟動
version: "3"services: verdaccio: image: verdaccio/verdaccio container_name: "verdaccio" network--mode: "bridge" environment: - VERDACCIO_PORT=4873 ports: - "4873:4873" volumes: - "/home/verdaccio/storage:/verdaccio/storage" - "/home/verdaccio/conf:/verdaccio/conf" - "/home/verdaccio/plugins:/verdaccio/plugins" network_mode: "bridge"
注意: 本地目錄 /home/verdaccio/storage
需要設置權限,不然會因為權限問題而導致操作失敗。
chown -R 10001:65533 /home/verdaccio/storage
本地目錄映射成功后,會簡化很多操作,比如:
在 /home/verdaccio
目錄下會創建 storage
目錄,如果發布了包,則在此目錄下的 data
中能找到對應的包文件夾,可以查看所有上傳的npm包,此處也可以直接刪除該包;
也會在 conf
映射到配置文件,方便我們需要時修改配置信息。
拷貝 verdaccio
配置文件
如果不想做本地目錄映射,也可以使用如下命令,拷貝出 verdaccio
鏡像的配置文件。
docker cp
:在容器和本地文件系統之間,拷貝文件或文件夾。
docker cp verdaccio:/verdaccio/conf/config.yaml /home
verdaccio
安裝啟動成功后,就可以直接網絡訪問。
當頁面出現下圖所示,就表示私有庫搭建成功,后續就可以進行私有包的發布下載。
有了私有庫以后,就可以在其上發布 npm
包。
但初始化時需要先添加用戶,設置用戶名和密碼等,然后就可以直接發包了。
添加用戶
npm adduser --registry http://0.0.0.0:4873/
輸入用戶名、密碼和郵箱。
publish
當需要把某個項目發布到私有庫時,直接 publish
。
npm publish --registry http://0.0.0.0:4873/
發布成功后,刷新頁面,就能看到最新發布的包。
在項目目錄下增加 .npmrc
文件,指定倉庫地址。
registry=http://0.0.0.0:4873/
使用 npm install 包名
,即可安裝私有包了。
常用配置如下:
# 素有包的保存路徑 storage: /verdaccio/storage/data # 插件的保存路徑 plugins: /verdaccio/plugins # 通過web訪問 web: title: Verdaccio # 賬號密碼文件,初始不存在 auth: htpasswd: file: /verdaccio/storage/htpasswd # max_users:1000 # 默認1000,允許用戶注冊數量。為-1時,不能通過 npm adduser 注冊,此時可以直接修改 file 文件添加用戶。 # 本地不存在時,讀取倉庫的地址 uplinks: npmjs: url: https://registry.npmjs.org # 對包的訪問操作權限,可以匹配某個具體項目,也可以通配 # access 訪問下載;publish 發布;unpublish 取消發布; # proxy 對應著uplinks名稱,本地不存在,去unplinks里取 # $all 表示所有人都可以執行該操作 # $authenticated 已注冊賬戶可操作 # $anonymous 匿名用戶可操作 # 還可以明確指定 htpasswd 用戶表中的用戶,可以配置一個或多個。 packages: "@*/*": access: $all publish: $authenticated unpublish: $authenticated proxy: npmjs "**": access: $all publish: $authenticated unpublish: $authenticated proxy: npmjs # 服務器相關 sever: keepAliveTimeout: 60 middlewares: audit: enabled: true # 日志設定 logs: { type: stdout, format: pretty, level: http }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123992.html
摘要:前端開發過程中,少不了自己封裝一些通用的包,但又不想放在公共的平臺,所以搭建一個私有的倉庫是很有必要的。在這里簡單介紹如何使用在環境下的配置。輕量級私有代理注冊表。加上,那就真的無敵方便了,搭建一個私有倉庫輕輕松松幾分鐘搞定。前端開發過程中,少不了自己封裝一些通用的包,但又不想放在公共的平臺,所以搭建一個npm私有的倉庫是很有必要的。 在這里簡單介紹如何使用 verdoccio 在docke...
摘要:前言利用搭建私服工具提取碼步驟拉取鏡像步驟運行鏡像,生成一個容器出現下面信息,表示成功步驟通過虛擬機地址端口進行訪問步驟配置其他略發布包下載包 前言 利用Docker, verdaccio 搭建npm私服 工具: 1. Docker 2. verdaccio: A lightweight private npm proxy registry 3. xhsell: https://...
Server server:all developers can have access to it, the server environment is windows. We need to use the npm command to install verdaccio, so we have to have a node environment. step1: install the no...
摘要:原因我搭私庫的原因很簡單,目前正在開發一個組件庫,提供給公司內部使用,我不想去注冊,也不想等待的審核,只想要有個倉庫快速測試發布自己的包。我一般會通過啟動,原因很簡單,關閉窗口后,服務不會停掉,并且能很好的管理我們啟動的服務。 原因 我搭私庫的原因很簡單,目前正在開發一個組件庫,提供給公司內部使用,我不想去注冊npm,也不想等待npm的審核,只想要有個倉庫快速測試發布自己的npm包。 ...
閱讀 3044·2021-11-19 11:31
閱讀 3128·2021-09-02 15:15
閱讀 984·2019-08-29 17:22
閱讀 1058·2019-08-29 16:38
閱讀 2464·2019-08-26 13:56
閱讀 833·2019-08-26 12:16
閱讀 1435·2019-08-26 11:29
閱讀 929·2019-08-26 10:12