Статьи

Начало работы с CouchDB в Mac OS X

Я начал работать с couchdb .

Я уже писал в блоге о проблемах схемы SQL в Escaping the Relational Schema Trap .

Схема SQL — для многих приложений — слишком ограничена. Это создает стоимость с относительно небольшой стоимостью. Когда-то давно (когда диски были дорогими, а компьютеры — медленными) это было необходимо.

Самое смешное в использовании couchdb — это процесс сборки.

В CouchDB вики, они имеют страницу для установки Mac OS X . Соответствующей частью является следующая строка сценария оболочки.

brew install couchdb

Это оно?

Да. Если — и только если — вы следуете указаниям.

Если вы не будете следовать инструкциям, это может занять весь день. Вот шаги.

  1. Установите инструменты разработчика Apple. У меня Mac OS X 10.7.  XCode 4.3 для Lion .
  2. Запустите XTools и установите утилиты командной строки. Это важно, потому что включает такие вещи, как make .
  3. Удалите fink или MacPorts, если вы использовали их для чего-либо. Для fink вам необходимо удалить его из вашего ~ / .profile или ~ / .bash_profile и переименовать каталог / sw .
  4. Установите Homebrew . Используйте однострочный скрипт ruby ​​со страницы установки вики Homebrew. Это: / usr / bin / ruby ​​-e «$ (curl -fsSL https://raw.github.com/gist/323731)» Я попробовал несколько неправильных способов, прежде чем сделать это правильным образом.
  5. Установите couchdb используя homebrew. Это займет некоторое время.

Есть множество вещей, которые могут пойти не так.

Отсутствующий
Библиотека / crt.1.10.6.o , например. Это просто устаревший Xcode. Потребовалось несколько часов неудачных экспериментов, чтобы (а) осознать это и (б) получить правильный. Есть несколько предлагаемых решений в Интернете. Большинство из них умные, но неэффективные. Просто получите правильный Xcode.

Не удалось построить Erlang. Это была просто неправильно установленная версия Homebrew. Было много сообщений. Много. Я много чего возился, пока не разбился
варево, доктор . Я удалил и переустановил Homebrew и все построил. Первая попытка.