搭建npm私库(超简单)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建npm私库(超简单)相关的知识,希望对你有一定的参考价值。
参考技术A我搭私库的原因很简单,目前正在开发一个组件库,提供给公司内部使用,我不想去注册npm,也不想等待npm的审核,只想要有个仓库快速测试发布自己的npm包。
目前最方便的方案就是 verdaccio ,搭建非常方便,一般就几分钟就搞定了,需要的工具:
安装verdaccio之前,我默认大家都已经安装了nodejs和npm环境,这个就不再赘述了。如果是本地搭建的话,直接进行下面的操作就可以了。如果是在远程服务器搭建,通过ssh连接远程服务器就行。
修改配置的目的就是让我们的私库可以通过公网的ip访问,首先查看npm全局安装包的所在位置:
其中 /usr/local/Cellar/node/8.4.0/lib/node_modules 便是我们npm包全局安装的地址。按以下命名查找配置文件所在的位置
配置情况如下
最后一行为新增的配置, 用于支持外网ip访问
然后输入 :wq 保存并退出vim模式,启动verdaccio服务即可。我一般会通过pm2启动,原因很简单,关闭doc窗口后,服务不会停掉,并且能很好的管理我们启动的服务。
常用命令
我们来启动服务,查看效果:
至此,npm的私库搭建就完成了,图中是我最新发布的一个基于vue的组件库,后续会对组件库的编写和发布做介绍,有兴趣的朋友关注以下。
搭建企业私库--nexus
1、下载地址:https://www.sonatype.com/download-oss-sonatype
2、安装:把bin下的路径添加到path环境变量中
3、在dos界面创建nexus服务并启动
4、在浏览器上进入已启动的nexus
输入:http://localhost:8089/nexus/ (localhost可替换成IP地址)
如果 进入失败
原因一:端口号被占用
解决办法:修改端口号
找到nexus.properties文件
打开文件修改端口号:
原因二:JDK版本不匹配
nexus2.5及以下版本支持JDK1.6
nexus2.6(包括)以上版本支持JDK1.7
nexus3.0及以上版本支持JDK1.8
修改:找到wrapper.conf文件
5、登录输入用户名和密码
6、修改maven的settings文件
<mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8089/nexus/content/groups/public</url> </mirror> </mirrors> <profiles> <profile> <id>nexus</id> <repositories> <repository> //指定私库下载依赖 <id>central</id> <url>http://localhost:8089/nexus/content/groups/public/</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> //指定私库下载插件 <id>central</id> <name>central</name> <url>http://localhost:8089/nexus/content/groups/public/</url> <layout>default</layout> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> //激活 </activeProfiles>
配置私库用户名和密码
<servers> <server> <id>releases</id> //此id必须与pom文件中正式发布版本id相同 <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> //此id必须与pom文件中快照发布版本id相同 <username>admin</username> <password>admin123</password> </server> </servers>
7、在项目的pom文件中指定发布到私库
<distributionManagement> <repository> <id>releases</id> <url>http://localhost:8089/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://localhost:8089/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
8、在pom文件中添加deploy插件,用户发布版本使用
<build> <finalName>zyzl</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.4</version> <--此处deploy版本必须使用2.4(可能我了解的不多,也试了2.6、2.7、2.9,都是失败)--> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build>
9、在eclipse中发布
10、到nexus中查看发布的快照版本
如果发布失败,在nexus中的public下的releases和snapshots中修改:
以上是关于搭建npm私库(超简单)的主要内容,如果未能解决你的问题,请参考以下文章