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