Stack.yaml против package.yaml для добавления зависимостей

При использовании MAMP

1 Перейдите к выводу

vim ~/.bash_profile

i

export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH

Измените php5.6.2 на версию php, которую вы используете с MAMP

Нажмите ESC, введите :wq, нажмите Enter

source ~/.bash_profile

, который php

2 Установите Mac-порты

https://www.macports.org/install .php

sudo port install php5-intl ИЛИ sudo port install php53-intl

cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/

{take a good look at the folder names that u use the right ones}

3 Добавить расширение

Теперь добавьте расширение к вашему php.ini file:

extension=intl.so

Полезная ссылка: https://gist.github.com/irazasyed/5987693

1
задан duplode 17 February 2019 в 13:03
поделиться

3 ответа

package.yaml фактически обрабатывается hpack ; это не функция stack , за исключением того, что если она увидит ее в вашем проекте, она будет использовать ее и сгенерирует файл .cabal .

Вы можете создать package.yaml самостоятельно с нуля. Вам не нужно делать stack new или что-то еще.

Я, конечно, нахожу это удобным, используя package.yaml , а не project.cabal . Там нет хорошего руководства пользователя, как такового (как указано в hpack README ), но есть несколько примеров, и вы поймете, что там не так уж много:

Я видел несколько упоминаний о том, что библиотека Cabal теперь поддерживает новые функции для уменьшения утомительного повторение (возможно, в формате >= 2.x?), которое может сделать необходимость в package.yaml , исчезнет довольно скоро, что было бы хорошо.

0
ответ дан Andrew Cowie 17 February 2019 в 13:03
поделиться

Обычно package.yaml является правильным местом для добавления зависимостей, а stack.yaml является правильным местом для добавления дополнительной информации об этих зависимостях.

Если вы просто используете пакеты из снимка основного стека проекта и используете для всех из них настройки сборки по умолчанию: вам вообще не нужно редактировать stack.yaml вообще. Зависимости упоминаются в stack.yaml, когда:

  • Пакет не находится в снимке стека
  • Вам нужна версия пакета, отличная от той, которую предоставляет снимок стека [115 ]
  • Пакет (или нужная вам конкретная версия) вообще не используется (например, вам нужен стек, чтобы получить его из github)
  • Пакет должен быть скомпилирован с флаги по умолчанию
  • и т. д.
0
ответ дан Jeremy List 17 February 2019 в 13:03
поделиться

Неважно, оказывается, я бегал stack new <project> simple; если бы я запустил stack new <project> new-project, он сгенерировал бы файл package.yaml вместо файла <project>.cabal, который я сейчас там нахожу.

0
ответ дан agam 17 February 2019 в 13:03
поделиться
Другие вопросы по тегам:

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