Настраиваю себе рабочее окружение на Windows и несколько недоумеваю, а есть ли какой-то простой способ установить и настроить то, что мне нужно. Хотелось бы как-то просто и без лишних телодвижений установить: cmake, python, а так же библиотеки типа BOOST, Protobuf, OpenSSL, TBB и т.п.
Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
Re: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Настраиваю себе рабочее окружение на Windows и несколько недоумеваю, а есть ли какой-то простой способ установить и настроить то, что мне нужно. Хотелось бы как-то просто и без лишних телодвижений установить: cmake, python, а так же библиотеки типа BOOST, Protobuf, OpenSSL, TBB и т.п. KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
Здравствуйте, hyperboloid, Вы писали:
H>https://chocolatey.org H>пакетов которых не хватает — можно не хитро добавить и поддерживать в актуальном состоянии
Он, похоже что, только для приложений. Да, там есть актуальные CMake и Python, но вот с библиотеками всё печальнее, так как даже BOOST древний
Тоесть его можно взять для установки приложений, но что взять для управления библиотеками? Или в Windows до сих пор как и 10 лет назад все библиотеками в ручную управляют?
Re[3]: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, hyperboloid, Вы писали:
H>>https://chocolatey.org H>>пакетов которых не хватает — можно не хитро добавить и поддерживать в актуальном состоянии
KP>Он, похоже что, только для приложений. Да, там есть актуальные CMake и Python, но вот с библиотеками всё печальнее, так как даже BOOST древний KP>Тоесть его можно взять для установки приложений, но что взять для управления библиотеками? Или в Windows до сих пор как и 10 лет назад все библиотеками в ручную управляют?
По крайней мере это единственный из похожих на правду менеджеров пакетов для этой ос. Проблема только в том что далеко не все производители софта минтейнят там свои пакеты, потому что нет такой культуры. А вообще он не не только для приложений а в принцепе для всего что можно откуда-нибудь скачать, куда-нибудь положить и что-нибуд запуститить с каки-нибудь флагами если надо. Там скрипты на powershell, и в принципе можно тот же boost можно завернуть и самому следить за актуальностью. Хотя с библиотеками, наверное, проще будет написать свои скрипты-даунлоадеры которые выкачивают и распакувывают куда именно вам надо, если действительно надо регулярно обновлять библиотеки. Я с такой проблемой не сталкивался, переустанавливаю окружение может быть раз в 2-3 года, и библиотеки мигрируют стандалон копированием. А если что-то и обновить, то не все скопом же. И заная что нет общего канала для тех же С++ библиотек все равно ведь пойдешь на сайт посмотреть что нового.
Re: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
думаю, что ничего круче nuget сейчас нет, особенно для библиотек, да еще и чтобы со студией интегрировалось
ты можешь организовать свой nuget сервер и сам поддерживать набор нужных пакетов (как сторонних, так и своих внутренних)
Re[2]: Windows и установка рабочих инструментов и библиотек
Здравствуйте, uzhas, Вы писали:
U>думаю, что ничего круче nuget сейчас нет, особенно для библиотек, да еще и чтобы со студией интегрировалось
печалька, очень слабое решение даже в сравнении с Brew, не говоря уже про Apt.
U>ты можешь организовать свой nuget сервер и сам поддерживать набор нужных пакетов (как сторонних, так и своих внутренних)
Так у меня ж цель была быстро и просто, в пару команд установить то, что мне нужно для экспериментов
Re: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Настраиваю себе рабочее окружение на Windows и несколько недоумеваю, а есть ли какой-то простой способ установить и настроить то, что мне нужно. Хотелось бы как-то просто и без лишних телодвижений установить: cmake, python, а так же библиотеки типа BOOST, Protobuf, OpenSSL, TBB и т.п. KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
msys2
Re: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Настраиваю себе рабочее окружение на Windows и несколько недоумеваю, а есть ли какой-то простой способ установить и настроить то, что мне нужно. Хотелось бы как-то просто и без лишних телодвижений установить: cmake, python, а так же библиотеки типа BOOST, Protobuf, OpenSSL, TBB и т.п. KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
На Windows всё до сих пор печально. Обычно удобнее всего оказывается хранить и собирать сторонние библиотеки в проекте (разными способами), или стараться использовать библиотеки не требующие сборки.
NuGet выглядит вполне себе решением проблемы, но содержит очень немного С/С++ пакетов, которые находятся по тегу native. В реальности, кроме Boost, CEF, cppRestSDK там реально старьё.
К сожалению, Microsoft не делает ничего для популяризации своего же пакетного менеджера среди С++ разработчиков. Несколько лет назад был проект http://coapp.org/ но сейчас он выглядит заброшенным.
В принципе, создать NuGet пакет не так уж и сложно, а потом его собирать на appveyor.com и публиковать результаты сборки на nuget.org или своем сервере. Я потратил всего пару дней чтобы получить устраивающую меня сборку для V8.
Re: Windows и установка рабочих инструментов и библиотек
Здравствуйте, kaa.python, Вы писали:
KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
Из-за этого в конце-концов пришлось сделать собственный велосипед на Ruby, который успешно используется уже около полугода в повседневной работе. Принцип такой: указываешь откуда и что забирать (это может быть URL архива или URL репозитория (git, hg, svn), а затем что и куда из этого копировать. Грубо говоря, указываешь URL архива библиотеки, эта библиотека скачивается, распаковывается в отдельном каталоге, а оттуда уже нужные тебе куски копируются в нужные тебе подкаталоги. Чуть подробнее на эту тему здесь и здесь.
Из того, что тебе наверняка не понравится:
* если библиотека задействуется в нескольких проектах, то в каждый проект она будет скопирована отдельно;
* за версиями библиотеки нужно следить самостоятельно (т.е. если у библиотеки появилась новая версия, то эту версию прописывать в зависимостях нужно явно). Разве что если библиотека качается напрямую из репозитория без привязки к тегу/коммиту, то при перезагрузки зависимостей будет взята самая свежая версия из репозитрия.
Но для нас эти возможности были ключевыми, поэтому мы так и сделали. Нужна была возможность в точности взять версию проекта со всеми его подпроектами.
Большие зависимости вроде Boost или ACE подтягивать пока не приходилось, но подтянуть SOCI, rapidjson, catch, fmtlib, spdlog, procxx и еще десятка полтора подобного размера библиотек в проект получается запросто.
При этом механизм получился не привязанный к build-системам. Т.е. качать зависимости можно с помощью MxxRu::externals, а собирать затем все -- через CMake. Ну а на Ruby делали потому, что так было проще и быстре.
KP>Настраиваю себе рабочее окружение на Windows и несколько недоумеваю, а есть ли какой-то простой способ установить и настроить то, что мне нужно. Хотелось бы как-то просто и без лишних телодвижений установить: cmake, python, а так же библиотеки типа BOOST, Protobuf, OpenSSL, TBB и т.п. KP>Неужели так и не появился менеджер пакетов ну или хотя бы менеджер библиотек, который мне всё поставит и сделает доступным для VS? Есть что-то отдаленно похожее – NuGet, но у меня сложилось ощущение, что нативные библиотеки там особо обновлять никто не спешит и частенько лежит какое-то старьё
Забавно, что под линуксом есть прекрасный репозиторий виндовых компонентов в составе winetricks. Но, как это повелось извревле в линуксах, компоненты с него то ставятся, то не ставятся, то ставятся, но не с первого раза.
Как много веселых ребят, и все делают велосипед...