系统环境:Windows 7 64位 专业版,以及 Windows 10 家庭中文版
第一步:搭建工具
工具:Nexus Repository Manager OSS 3.x。我用的是3.13.0-01
安装方式:解压即可。我是解压到D:\nexus,这个看个人爱好,但是
建议目录层级最好㳀一点,效率更好。-
启动方式:使用命令行启动。示例:
cd D:\nexus\nexus-3.13.0-01\bin nexus.exe /run
或者
D:\nexus\nexus-3.13.0-01\bin\nexus.exe /run
当然,你也可以看看官方文档:https://guides.sonatype.com/repo3/quick-start-guides/proxying-maven-and-npm/
-
添加系统服务。nexus在运行时,会占用命令行窗口。输入回车,
nexus就会停止运行。如果只是想cmd命令提示符不被占用,可以让程序后台运行。命令如下:
start /b nexus.exe /run
这个命令的作用与Linux下的&相似。示例:
./nexus /run &
这样做仅仅只是让命令行(控制台)还可以重复利用而已。关闭cmd命令行
窗口后,nexus也同样会跟着停止运行。因为不想每次开机都要启动一次,也不想每次启动就留一个黑窗口在那,
而且,做为一个代理仓库,可能会经常用到。所以我将它添加为一个
开机自启动的服务。以系统管理员身份打开命令提示符,运行如下命令:sc create nexus binPath= "D:\nexus\nexus-3.13.0-01\bin\nexus.exe /run" start= auto displayName= "Nexus Repository Manager"
这个时候会提示“[SC] CreateService 成功”。
运行
services.msc
命令,打开服务管理页面。就可以找到一个名为
“Nexus Repository Manager”的服务。在服务上右键选择运行,或者是在cmd中执行
sc start nexus
命令,启动服务。如果是win7,这个时候就已经完成了。
如果是win10,你会发现服务启动不了,你会得到一个这样的错误:
错误1053:服务没有及时响应启动或控制请求
这个问题,我找了很久没有找到原因,也没有找到解决办法。这个时候不要慌,
解决不了就绕过吧。操作如下:服务--> Nexus Repository Manager --> 右键选择属性
--> 恢复 --> 第一次失败后改为运行一个程序 --> 将程序设为
"D:\nexus\nexus-3.13.0-01\bin\nexus.exe
" --> 将命令行参数设置为
"/run
" --> 重新启动服务
第二步:配置代理仓库
-
打开服务界面:localhost:8081
注意:不要用IE,IE有可能打不开
-
管理员登录:(默认帐号)用户名:admin,密码:admin123。
登录成功后,页面上部原来的立方体图标旁边会多出一个齿轮的图标。
点击切换到管理界面 创建Blob Stores。在右边的导航栏中,Repository下有一个Blob Stores。
建议创建一个,而不要都用默认的Default。由于我的私库不仅仅代理了Pypi的,
还代理了Maven的仓库。为了区分,所以我创建了一个名为Pypi的Blob Store
用于保存Python的库。-
创建Repositories。
首先创建代理仓库,类型是pypi(proxy),建议多创建几个。pypi国内镜像以及官方源
阿里云 http://mirrors.aliyun.com/pypi/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/
豆瓣(douban) http://pypi.douban.com/
清华大学 https://pypi.tuna.tsinghua.edu.cn/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/
设置代理仓库后,最好再加一个组仓库,类型是pypi(group),
然后把创建的仓库全部添加进去。这样只要引用组仓库就可以自动
从所有的仓库中获取数据。注意: 代理指向的地址不要加simple结尾
第三步:配置pip
配置好的组仓库地址:http://localhost:8081/repository/pypi/
配置好仓库后,在使用时可以临时使用。
pip install -i http://localhost:8081/repository/pypi/simple some-package
也可以设为默认。更改pip请求配置如下:
pip config set global.index-url http://localhost:8081/repository/pypi/simple
注意: 要在仓库地址后加上simple
配置好仓库地址后,本地就可以正常访问了。但是由于是http的缘故,
非本机访问就会发现如下提示:
The repository located at xxx is not a trusted or secure host and is being ignored.
这个时候需要验证服务器主机
pip install -i http://localhost:8081/repository/pypi/simple some-package --trusted-host localhost
也可以设为默认。更改pip请求配置如下:
pip config set install.trusted-host localhost