Closed ArekPiekarz closed 2 years ago
Thanks for your feedback.
About the first 2 scenarios, maybe we could show "There are no packages in the local cache, use -r to search in a remote" to help user understand.
About the 3/4. It should work, actually in native windows, mac, linux works, I have to check in msys2. The problem is normally to pass the star without quotes "*", the shell expand the star to the current files (afaik we can't do anything with that) but in your example there are quotes, so we should investigate to understand it.
About 5/6 we are starting to populate conan-center with packages, we have many inclusion requests pending and finally, some time to spend in the public repository. We will work close with bincrafters community and we will increase the awareness of the bincrafters community also.
Thanks again for such detailed report.
Yes, I agree that the "remotes" could be a bit more evident. Right now if you type:
$ conan search --help
The paragraph will explain that, but the --remote
argument could be better explained.
I've been bitten by this one too. I also agree that as a newcommer, having the search returning nothing is surprising. I'm new to conan and saw in the help that there was a change in the repository layout, and first thought that may be the source of the problem. Luckily I read the search command help and found, hidden in the middle of the whole paragraph, that local search was the default.
I think that defeats the purpose of a package manager. When I'm searching for something, it's because I don't know where it is. So I propose this:
For the current comportment, this would be:
Searches package recipes and binaries in the local cache (by default) or in a remote.
This would make the following sentence unnecessary:
You can search in a remote or in the local cache, if nothing is specified, the local conan cache is assumed.
--local
option to search locally explicitlyIf you see no fit for changes 2-5, then at the very least, allow a way to search on all remotes like -r all
or something similar.
I agree that the paragraph (point 1) can be improved. Please contribute it directly if you feel.
Regarding the other points 2-5, sorry, but it is not possible. This would be breaking behavior, and we can't do this, at least until 2.0, and that is very far away.
Regarding -r=all
, yes, this is already merged, it will be available in conan 1.1: https://github.com/conan-io/conan/pull/2348
Maybe this could get a 2.0 milestone if the only problem is the change of default behavior?
Chocolatey for example uses the --local-only
option for local searches. This would be the counterpart to -r=all
, as searching on all remotes (+ local?) would become the default behavior.
conan search
has already been changed in 2.0-alpha to search for packages in all configured remotes by default, not in local cache. And in all remotes, even without specifying it, so I think this can be closed now as implemented.
Summary:
Searching for all or specific packages as a new user is impossible or harder than in other package managers.
Scenario 1:
Try to list all available packages.
Result in Pacman package manager in Msys2 (with Pacboy wrapper):
Scenario 2:
Try to find Boost package:
Result in Pacman package manager in Msys2:
Scenario 3:
Assuming a user learned that
conan search
by default checks only local packages and about existence of remotes, try to find Boost package on any of them:Scenario 4:
Assuming the user learned there is no pattern matching for remotes and what remotes are available with
conan remote list
, try to list all packages on one remote.Scenario 5:
Assuming the user learned it's not possible to list all packages on a remote, try to find Boost ones on each of remotes:
At last some success, although for beginners it may seem confusing why some packages are duplicated. Also only older Boost versions are available.
Scenario 6:
Try to find the newest Boost 1.66 package. The user already knows it's not in conan-center nor conan-transit. Assuming he learned about Bincrafters remote and how to add it:
Finally we found the library we wanted in the newest version, after stepping through many hoops. Could this process be made easier for newcomers?
Environment:
Conan 1.0.1 from pip3 from Msys2 Windows 10 x64