搭建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私库(超简单)的主要内容,如果未能解决你的问题,请参考以下文章

nexus私库搭建

前端私库搭建(linux系统)

Docker私库搭建和使用

ubuntu16搭建docker私库

CNMP私库的搭建

搭建企业私库--nexus