标签:拖动 配置 私有 类型 print 官网 user src des
一、登陆nexus
地址:http://10.137.8.212:8081/#admin/repository/blobstores
二、创建知识库,有3种类型
三、创建仓库
(1)创建npm(hosted)私有仓库
①
②hosted改成allow redeploy,这样才能运行重复上传一个包,不然会报400:bad request
(2)创建npm(proxy)仓库
①proxy的remote storage设置:当私有仓库和代理仓库缓存包里无请求的包时,就会通过这里配置的地址去服务器下载需要的包,然后再缓存下来。我填的是淘宝镜像:https://registry.npm.taobo.org。npm官网的下载有点慢
(3)创建npm(group)仓库
①name: npm-group,是仓库组的名称。可以包含任何npm的仓库。最终npm install等操作时的地址将会是这个仓库组的地址。
group中,将刚创建的私有仓库(npm-hosted)和代理仓库(npm-proxy)拖动到右边。
四、配置权限
一定不能忘,不然在adduser和publish会一直报错401:Unable to authenticate, need: BASIC realm=“Sonatype Nexus Repository Manager”
五、npm 设置npm config set registry http://10.137.8.212:8081/repository/npm-group/
六、创建一个npm包,发布到建立的私服
1、桌面创建一个yx-test-local文件夹,里面包含index.js和package.json
(1)cd ~/desktop
(2)mkdir yx-test-local
(3)npm init -y,修改package.json文件
name是私服上最终显示的包名
name: "@chint/parkball"
(4)新增index.js文件,写入代码
// index.js
module.exports = 123456;
2、登陆hosted仓库
(1)npm adduser --registry=http://10.137.8.212:8081/repository/npm-hosted/
(2)输入admin和password
3、进入yx-test-local包目录,发布包
(1)cd yx-test-local
(2)npm publish --registry=http://10.137.8.212:8081/repository/npm-hosted
注意:
①上传之前不能用npm config set @chint:registry http://...
(或者说npm config list中查看registry,不能有上传的包的package.json中的name的“@chint”。如果有@chint源,则需要删除), 这样会显示上传成功,但是在私服中找不到这个库。
②不能省略–registry=http://10.137.8.212:8081/repository/npm-hosted,不然会报错:400,400 Bad Request - PUT http:///10.137.8.212:8081/repository/npm-group/@chint%2parkball
(3)不可以进入yx-test-local上一层目录,然后用npm publish yx-test-local --registry=http://10.137.8.212:8081/repository/npm-hosted
, 会报错404
(4)如果是tgz包,可以npm publish cms-0.0.2.tgz --registry=http://10.137.8.212:8081/repository/npm-hosted
①不可以进入cms-0.0.2.tgz上一层目录,如@aaa,然后用npm publish cms-0.0.2.tgz --registry=http://10.137.8.212:8081/repository/npm-hosted
, 会报错404:404 Not Found - GET http://10.137.8.212:8081/repository/npm-hosted/@aaa%2cms-0.0.2.tgz - Package ‘@aaa/cms-0.0.2.tgz’ not found。
4、发布yx-test-local包的另一种方法:
(1)yx-test-local的config.json里设置
"publishConfig": {
"registry": "http://10.137.8.212:8081/repository/npm-hosted/"
},
(2)cd yx-test-local
(3)npm publish
,因为指定了publish的地址,所以后面不用再加–registry参数
六、查看上传的包
七、下载私有包
1、npm config set @chint:registry http://10.137.8.212:8081/repository/npm-group
(1)如果是要删除的话,用npm config delete @chint:registry
2、桌面新建一个npm-test文件夹,并将私有包下载在npm包中
(1)cd ~/desktop
(2)mkdir npm-test
(3)cd npm-test
(4)npm init -y
(5)package.json中新增
"dependencies": {
"@chint/yx-test-local": "1.0.0"
}
(6)npm config set registry https://registry.npmjs.org/
,不然找不到其他包的源。
如果是要设置成淘宝的源,npm config set registry http://registry.npm.taobao.org/
(7)npm i
这样就能在node_modules文件夹看到下载下来的私有包
重复步骤五、六、七,就能上传下载私有包。
nexus管理npm包,npm包发布在私有仓库(nexus)中
标签:拖动 配置 私有 类型 print 官网 user src des
原文地址:https://www.cnblogs.com/daikainan/p/14280009.html