- PVSM.RU - https://www.pvsm.ru -

Автор сurl просит Microsoft удалить алиасы curl и wget из PowerShell

Автор сurl просит Microsoft удалить алиасы curl и wget из PowerShell - 1

Позавчера компания Microsoft опубликовала исходный код [1] PowerShell. Таким образом, это средство автоматизации и конфигурирования на базе .NET Framework стало доступным под Linux.

Некоторые скептически относятся к стратегии «Microsoft любит Linux», которую декларирует редмондский гигант. Кое-кто считает, что консоль от Microsoft не нужна в операционной системе, в которой есть bash. Обычно это просто эмоциональные высказывания, но есть и вполне рациональные аргументированные возражения по существу. Например, разработчик программы curl Дэниель Стэнберг (Daniel Stenberg) вполне логично говорит, что наличие внутри PowerShell одноимённого алиаса curl, а также wget совершенно неуместно, потому что мешает запустить нормальные привычные программы.

«Алиасы curl и wget препятствуют использованию привычных инструментов командной строки, при этом даже близко не обеспечивают такую же функциональность, — пишет [2] Дэниель Стэнберг в пулл-реквесте к свежеопубликованному коду PowerShell на Github. — Они совершенно бесполезны для пользователей PowerShell, но вызывают путаницу для нынешних пользователей curl и wget».

Пулл-реквест Дэниеля Стэнберга поддержали 466 других пользователей Github. В самом деле, если теперь PowerShell устанавливается на Linux, то алиас curl внутри оболочки PowerShell вносит определённую путаницу для тех, кто хочет запускать эту программу из командной строки.

Один из разработчиков PowerShell ответил [3] на комментарий Стэнберга, что эти алиасы использовались в разных версиях PowerShell, а их удаление станет «ломающим изменением». Поэтому они отклоняют этот пулл-реквест, ибо он представляет собой «неприемлемые изменения» в соответствии с условиями неприемлемых изменений [4], которые нарушают обратную совместимость и ломают существующие пользовательские скрипты.

Дэниелm Стэнберг вежливо ответил [5], что на самом деле добавление этих алиасов в PowerShell стало «ломающим изменением» для людей, которые запускали curl и wget из консоли. «Ни один здравомыслящий человек всё равно не будет использовать эти алиасы, поскольку ваша замена curl и wget работает совершенно непохоже на оригинальные команды curl и wget. Эти алиасы только усложняют жизнь пользователям, которым нужны настоящие инструменты, и они не делают ничего хорошего для тех пользователей, которым эти инструменты не нужны».

Разработчиков PowerShell можно понять. Всем совершенно очевидно, и им тоже, что алиасы curl и wget неуместны, но существующая многоступенчатая бюрократическая система [6] не позволяет им сделать такое изменение по простому пулл-реквесту. В данный момент свободный проект PowerShell управляется комитетом из пяти мейнтейнеров, которые действуют с ведома менеджеров проекта, которые, в свою очередь, подчиняются более высокому руководству в корпорации. Такого рода значительные изменения требуют длительных согласований во всей корпоративной иерархии.

Разработчики признают проблему [7], что когда добавили «алиасы для юниксовых команд», то под Windows эти алиасы мешают запустить нормальные программы. Это нужно исправить, но формально такое изменение является «ломающим», в соответствии с официальным документом. Сейчас мейнтейнеры проводят совещание, что делать с этими алиасами Linux и как решить проблему под Linux и под Windows.

В качестве временного решения они предлагают вручную удалить мешающие алиасы, добавив следующие строки в профиль:

Remove-Item Alias:Curl
Remove-Item Alias:WGet

Автор: alizar

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/microsoft/175856

Ссылки в тексте:

[1] опубликовала исходный код: https://habrahabr.ru/post/308076/

[2] пишет: https://github.com/PowerShell/PowerShell/pull/1901#issue-171982204

[3] ответил: https://github.com/PowerShell/PowerShell/pull/1901#issuecomment-240840910

[4] условиями неприемлемых изменений: https://github.com/PowerShell/PowerShell/blob/master/docs/dev-process/breaking-change-contract.md

[5] ответил: https://github.com/PowerShell/PowerShell/pull/1901#issuecomment-240842529

[6] многоступенчатая бюрократическая система: https://github.com/PowerShell/PowerShell/blob/master/docs/community/governance.md

[7] признают проблему: https://github.com/PowerShell/PowerShell/pull/1901#issuecomment-240847078

[8] Источник: https://habrahabr.ru/post/308140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best