用树莓派装搭建好tomcat7 + nexus2.x的环境后,默认情况下nexus2.x没有创建npm仓库,如果想用nexus2.x搭建私服只需要在Reposirotries中创建对应的仓库类型即可。
只有高版本的nexus2.x才支持npm 这里使用的是 nexus-2.14.17-01
1. 创建npm代理仓库
选择菜单:Repositories -> Add -> Proxy Repository 分别填写:
Repository ID: npmjs_centralRepository Name: npmjs centralProvider: npmRemote Storage Location: https://registry.npm.taobao.orgChecksum Policy: Ignore
这里的 RepositoryID
会作为 storage
中的存储目录名称,而 RepositoryName
则是管理页面显示的名称。
这里的Remote Storage Location可以填写npm中央仓库地址,这里我使用的是淘宝的镜像地址。
2. 创建npm本地仓库
选择菜单:Repositories -> Add -> Hosted Repository 分别填写:
Repository ID: npmjs_myRepository Name: npmjs myProvider: npm
3. 创建仓库组
选择菜单:Repositories -> Add -> Repository Group 分别填写:
Group ID: npm_allGroup Name: npm allProvider: npm
这一步很重要:将 AvailableRepositories
中的 npmjsmy
和 npmjs central
加入到左侧的 OrderedGroupRepositories
中。
至此 Nexus2.x
上的 npm
仓库就搭建好了。
那么,自己的开发机如果使用已经搭建的npm仓库呢?
4. 修改npm registry
在自己的开发电脑上打开命令行终端,运行一下指令修改 npm registry
,注意修改下面的IP为nexus2.x部署机器对应的IP。
npm config set registry=http://192.168.1.100:8081/nexus/content/groups/npm-all/
5. 拉取依赖
这里创建一下 nexus2test
的js项目,测试一下npm依赖的拉取,采用命令行创建项目:
mkdir nexus2testcd nexus2testnpm initnpm install vuex
上面项目安装了 vuex
这个依赖,我们可以打开仓库地址看看是否已经拉取成功,访问以下地址即可查看(记得改IP)。
http://192.168.1.100:8081/nexus/content/groups/npm_all/
如果拉取成功,那么下次拉取就npm就会直接从nexus拉取,不用到淘宝镜像中去拉取了,这样能加快依赖拉取速度。
6. 发布依赖
npm仓库搭建好之后,除了可以快速拉取依赖,还可以发布自己的npm包到nexus中,便于团队协作。为了发布方便,这里直接配置 .npmrc
这个配置文件(文件在 C:\User\Administrator
下面),在这个文件中添加如下配置:
http://192.168.1.100:8081/nexus/content/groups/npm_all/
关于_auth的值格式是“账号:密码”的base64形式(注意中间有“:”) admin:admin123 可以通过这个地址(https://c.runoob.com/front-end/693)对上面的值进行base64。
这里还要注意的是,如果账号没有权限,需要使用管理员账号登录nexus为当前分配npm仓库相应的权限。
最后执行以下命令发布项目:
npm publish --registry http://192.168.1.100:8081/nexus/content/repositories/npmjs_my/
发布成功后可以在http://192.168.1.100:8081/nexus/content/repositories/npmjs_my/查看。