Почему шоколадные инструкции по установке не работают?

382
TheGrapeBeyond

Поэтому я очень стараюсь следовать инструкциям, приведенным для шоколадной установки, но они не работают.

Со своего сайта они говорят «Его так легко установить!», «Просто откройте оболочку питания» и просто запустите эту команду:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin 

Однако я получаю: Почему шоколадные инструкции по установке не работают?

2
В инструкциях сказано, что нужно вставить эту команду в КОМАНДУ, а не в окно Powershell. David Marshall 9 лет назад 1
Как указывает @DavidMarshall, вы запускаете его из PowerShell (отсюда и «PS» перед приглашением C:), запускаете его из пустой командной строки, отличной от PS. Ƭᴇcʜιᴇ007 9 лет назад 0
@ DavidMarshall Я думаю, что сделал это - я не знал, что будет / должно быть разница. Я попробовал это изначально в GitBash, но это не сработало. Я только что открыл приглашение vanilla cmd, и (я думаю) это сработало. Почему есть разница? Но спасибо, я думаю, что это сработало ... TheGrapeBeyond 9 лет назад 0
@ techie007 Спасибо, что сделал это! Я так понимаю, что Chocolatey можно запускать ТОЛЬКО по приглашению cmd, и ничего больше? (Как GitBash и т. Д.?) Почему / Как это должно измениться? Еще раз спасибо!! TheGrapeBeyond 9 лет назад 0
Команда, которую вы использовали, запускает Powershell из командной строки, устанавливает правильную среду Powershell, затем загружает и устанавливает chocolatey. Команду, расположенную ниже, можно ввести прямо в Powershell, чтобы загрузить и установить chocolatey, но вам необходимо убедиться, что правильная политика выполнения была установлена ​​заранее. David Marshall 9 лет назад 0
`cmd.exe` и` powershell.exe` имеют совершенно разные парсеры. Синтаксис `@ command` работает только в cmd.exe и имеет смысл только в скриптах (.cmd / .bat) - он запускает команду, не показывая ее на экране. Вот почему эта команда полностью завершилась неудачно в `powershell.exe`. BartekB 9 лет назад 0
@BartekB спасибо Bartek! И я представляю аналогичную вещь и для GitBash? TheGrapeBeyond 9 лет назад 0
Мои знания по bash немного устарели, но, насколько мне известно, синтаксис `@ command` уникален для` cmd.exe` - я не видел его ни в одной другой оболочке. BartekB 9 лет назад 0

1 ответ на вопрос

4
Julian Knight

As you've already seen from the comments, you need a command prompt as stated on the Chocolatey web site:

To install chocolatey now, open a command prompt and paste the text from the box below and press enter

Command (or strictly cmd on newer Windows versions), PowerShell and Bash all have very different syntax though they serve similar aims in many ways.

Chocolatey does use PowerShell but, as others have said in the comments, the initial kick-off is from a simple command prompt. The power of PowerShell is then used by Chocolatey to automate software installs and updates. It is a neat and powerful tool though as with many installer tools, it can serve up out-of-date software all too regularly.

I make extensive use of it though, especially recently when I've had to rebuild a load of development laptops quickly. Great way to install a load of standard software quickly and consistently & keep it reasonably up-to-date.

Спасибо, добрый сэр! Не могли бы вы рассказать о том, что вы сказали о различиях между cmd / PS / Bash? Я ДУМАЛ, что они все были одинаковыми, как и в, сделали одно и то же ... если у них немного другой синтаксис, то зачем их все? Думаю, я не понимаю, почему у нас так много разных типов программ для командной строки, подобных этим? Благодарю. TheGrapeBeyond 9 лет назад 0
На опасность быть отчитанным за неправильное использование комментариев! Оригинальная командная строка была написана в дни DOS, была улучшена для Windows NT (cmd), но все еще хороша! BASH и аналогичные продукты происходят из UNIX и представляют собой очень мощные командные среды с множеством встроенных инструментов и функций. PowerShell - это ответ MS на BASH. Официально он представляет среду MSNET (библиотеки) в командной среде. Если вы хотите стать Windows GURU, PowerShell очень важен в наши дни, и для этого есть веские причины. Julian Knight 9 лет назад 0
PowerShell - например, я только что написал некоторые функции статистики в PS для анализа писем, поступающих в Outlook и выходящих из него. Я также использую его для управления Office 365 и SharePoint. Таким образом, каждая среда либо имеет определенные усовершенствования, либо, как правило, является эволюцией от старых технологий, сохраняемых для обратной совместимости. BASH в Windows, как правило, имеет ограниченное применение, хотя я использовал его для запуска некоторых сценариев метаданных Photo и позволяет кросс-платформенным инструментам, таким как GIT, хотя они были разработаны для UNIX. Julian Knight 9 лет назад 0
Ах я вижу. И именно поэтому gitBASH имеет аналогичные команды linux-y, поскольку он порожден из BASH (из Linux) ... интересно! :-) TheGrapeBeyond 9 лет назад 0
Именно так. Найдите в CYGWIN более полнофункциональную среду POSIX (UNIXy) для Windows. Julian Knight 9 лет назад 0

Похожие вопросы