Conan download failures

Hello,

Perhaps similar to this answer, but I am experiencing a difference in conan download between Conan proxy and hosted repositories.

For proxy repos, if I execute the command conan download -r=conan-center openssl/1.1.1g@ the recipe and all compiled binaries hosted on Conan Center are downloaded to my local cache.

For hosted repos, if I execute a similar command for an application and binaries we’ve built and uploaded to our hosted repository, I get the following output:

% conan download -r=conan-dev-hosted Application/0.0.1@user/channel
Downloading conanmanifest.txt completed [0.06k]                                          
Downloading conanfile.py completed [1.62k]                                               
Application/0.0.1@ user/channel: Getting the complete package list from 'Application/0.0.1@ user/channel#0'...
ERROR: 404: Not Found. [Remote: conan-dev-hosted]

Because of our particular needs, I’m scripting Conan’s download and upload commands to export and import our Conan application packages (recipes and compiled binaries) between repositories. This is a critical function for our development environment.

Can anyone tell me if downloading “packages” from Nexus Conan hosted repositories is supported?

Hello @austin
So you are downloading some libs from conan-center and push them into your NXRM conan-hosted repo? And after you can’t fetch binaries from hosted. Did I understand problem correct?
If yes, conan upload command does not upload packages by default, it uploads only recipe. To Upload recipe and packages you need use --all flag

Hello @iudovika,

We are using the --all flag and I can see the packages folders in the web GUI for the application/version@user/channel. I’ve attached a screenshot. When I do conan download..., I get the recipe in 0.1-test, but I cannot download any of the packages folders. I was under the impression that these packages contain all of the binaries we built for our target architectures, which is what I need in my other repository to use as dependencies when building our applications. The second repository is not connected to the internet so recipes in it cannot fetch source code to compile binaries.

Thanks, I will try to have a look on code base and will update you if will find the reason of such issue.

1 Like

Hello @austin
I made investigation and seems you where right. conan dowload command works via search engine that still is not implemented in hosted repo.

Hello,
is the conan download and conan search still not supported in the hosted conan Repository?

Right, currently Conan does not support hosted repositories. However, we expect in 3.35 pro users will be able to using postgresql or h2. I expect we will have a version for OSS users at some time but I’m not sure when precisely that will be.

Hello Matthew - will we have to configure postgresql or h2 (what is h2?)?

Hi Austin,

Nexus 3 has used an embedded OrientDB database, with 3.31 we announced initial support with temporarily limited format support for migrating to PostgreSQL or H2 (another embedded database, albeit a more traditional relational one). The migration is less time consuming than the 2->3 migration as it only moves database contents.

Pro users switching to PostgreSQL would need to manage the PostgreSQL instance outside of Nexus, this can of course be a managed service like Aurora if running in AWS. With H2 the deployment is similar to today where the database is simply part of the Nexus service and needs no external management. While H2 is fast (as communication is in-process rather than network) we anticipate that with large volumes for data PostgreSQL will be preferable, and that PostgreSQL enables more resilient deployments, backup options, etc…

If you’re looking for more information we have a section in our help documentation.

1 Like