0


批量上传npm依赖的tgz包至nexus私库中

一、背景:

因公司网络要求,研发人员开发的代码再进行构建时需要使用到互联网的一些包,但是这些包每次构建的时候都需要从外网下载下来,比较耗时,同时因为护网安全等规范要求,所以在公司内部部署一套nexus私库用于存放maven编译和nodejs编译所需的一些包。

二、安装nodejs环境:

因为这次上传时通过npm publish的方式上传的,所以是需要部署一个nodejs环境。

安装gcc依赖环境:

[root@localhost ~]# yum install gcc gcc-c++

安装nodejs服务:

[root@localhost ~]# yum install -y nodejs

注:这里是不需要启动nodejs服务的,直接去验证nodejs环境即可。

[root@localhost ~]# node -v
v8.9.4
[root@localhost ~]# npm -v
5.6.0

注:到这里就完成了nodejs环境的部署工作了。

三、验证上传tgz包到nexus私库:

设置nexus私库地址:

[root@localhost ~]# npm config set registry http://192.168.6.181:8989/repository/jh-prod-hosted/

注:这里需要注意一下这个nexus地址是能上传tgz包到地址,并且这个私库的format是npm的,切记,切记。

登入到nexus私库上:

[root@localhost ~]# npm adduser -registry http://192.168.6.181:8989/repository/jh-prod-hosted/
Username: admin
Password: 
Email: (this IS public) [email protected]
Logged in as admin on http://192.168.6.181:8989/repository/jh-prod-hosted/.

测试上传单个tgz包:

有两种方式上传tgz包

方式一:

[root@localhost ~]# npm publish -registry http://192.168.6.181:8989/repository/jh-prod-hosted/ functional-red-black-tree-1.0.1.tgz 
+ [email protected]

方式二:

[root@localhost ~]# npm publish  functional-red-black-tree-1.0.1.tgz 
+ [email protected]

两种方式都可以,根据个人习惯选择,建议选择方式二的方式操作。

四、批量上传tgz包至nexus私库:

批量的方式,就是find符合要求的tgz包,然后通过npm publist方式上传。

命令如下:

find . -type f -name "*.tgz"  | sed "s|^\./||" | xargs -I '{}' npm publish {}  2>&1 | tee -a npm.log

实际自行效果如下:

[root@localhost npm-old]# find . -type f -name "*.tgz"  | sed "s|^\./||" | xargs -I '{}' npm publish {}  2>&1 | tee -a npm.log
+ @ant-design/[email protected]
+ @ant-design/[email protected]
+ @ant-design/[email protected]
+ @antv/[email protected]
+ @antv/[email protected]
+ @antv/[email protected]
+ @antv/[email protected]
+ @antv/[email protected]
+ @antv/[email protected]
........

最后上传完成之后去nexus私库里查看即可。

到此就可以使用nexus私库里的npm的tgz包里。

标签: npm 前端 node.js

本文转载自: https://blog.csdn.net/jiang0615csdn/article/details/140795924
版权归原作者 jiang0615csdn 所有, 如有侵权,请联系我们删除。

“批量上传npm依赖的tgz包至nexus私库中”的评论:

还没有评论