我想在我公司内部设置一个NuGet存储库
我们已经运行了Nexus OSS 2.13,所以我尝试在其上设置Nuget托管存储库,并将我的包上传到那里进行测试。然后,我在Visual Studio 2015上配置了NuGet repos,以便在该nexus服务器上添加一个
我遇到的问题是VS2015使用(显然)nuget feed v3,而Nexus 2.13使用v2 feed。浏览nexus存储库时出现404错误(当nuget调用repo_url/Search()
时)
错误消息如下所示:
在' / nexus nuget存储库网址 / Search()?[...]'返回' 404找不到'
在网络浏览器中浏览repo网址(不包含/Search()
)可以正常工作,浏览repo_url/FindPackagesById
也是如此。
我尝试尽可能降低我的NuGet vsix版本,降至v3.1.1
,但没有版本适用于v2 Feed。
我查看了Sonatype网站关于nexus,并看到了Nexus v3 is said to handle NuGet, while v2 has no such mention。我决定尝试在我们的Nexus 2.13(在同一台机器上)旁边安装Nexus 3,看看它提供了什么。
我从that same page as above下载了v3.0.2-02
并开始设置。
我跟踪了部分the documentation on how to install it跳过因v2.13
安装而已经完成的部分内容。 (免责声明:虽然我考虑安装java运行时环境以及类似的东西,但我自己并没有安装v2.13
。
然后我启动了nexus 3作为服务并成功访问了主页并以管理员身份登录。
阅读a statement on hosted repository management in the documentation说:
By default, the repository manager ships with the following configured hosted repositories:
[...]
nuget-hosted
This hosted repository is where your organization can publish internal
releases in repository using the NuGet repository format. You can also
use this repository for third-party components that are not available in
external repositories, that could potentially be proxied to gain access
to the components.
我前往Repository -> Repositories
部分并点击"创建存储库"。
只有maven(组/托管/代理)和原始(组/托管/代理)配方可用。没有Nuget,没有npm,除了maven之外......
稍微搜索一下,我在System -> Bundles
部分找到了nuget存储库mvn:com.sonatype.nexus.plugins/nexus-repository-nuget/3.0.2-02
的包被列为Installed
的颜色
而maven的mvn:org.sonatype.nexus.plugins/nexus-repository-maven/3.0.2-02
被列为Active
。
我试图寻找一个可以激活捆绑包的地方,并且我认为我在$NEXUS_HOME/etc/startup.properties
找到了第一行所在的地方:
# Bundles to be started on startup, with startlevel
并包含查看我添加的一行以尝试激活nuget:
mvn\:com.sonatype.nexus.plugins/nexus-repository-nuget/3.0.2-02 = 10
然后我使用> sudo service nexus3 restart
重新启动nexus v3,重新登录到admin,转到存储库,看到仍然没有可用的nuget配方。
我回到了Bundles,看到nuget包仍然列为Installed
而不是Active
。
我现在所有的想法都是关于我能够或应该做些什么才能简单地创建一个托管的nuget存储库,该存储库应该已经可以根据nexus'文档...
我缺少什么?
如果缺少文档所说的全新安装,那么默认情况下有什么问题?
如何在该nexus v3上创建托管的NuGet存储库?
答案 0 :(得分:0)
我找到了一种激活nexus-repository-nuget插件的方法:
在文件bin / nexus.vmoptions中激活karaf控制台:
-Dkaraf.startLocalConsole=true
然后使用run选项启动nexus:
sudo bin/nexus run
最后在karaf控制台中,激活nexus-repository-nuget bundle:
bundle:start 214
现在退出控制台并停止跑步者,并开始作为服务。捆绑应该是"激活"你应该能够创建一个nuget存储库。