Проблема переустановки MongoDB с Homebrew с использованием OS X 10.10 Yosemite Beta

Как я могу получить путь к файлу из этого типа URI контента?

У вас нет, так как нет никакого файла вообще за Uri, не говоря уже о том, к которому вы можете получить доступ. Это Uri может указывать на:

  • Локальный файл на внешнем хранилище
  • Локальный файл на внутренней памяти для другого приложения
  • Локальный файл на съемном носителе
  • Локальный файл, который зашифрован и должен быть дешифрован на лету
  • Поток байтов, хранящихся в столбце BLOB в базе данных
  • Часть содержимого, которое должно быть загружено другим приложением первым
  • ... и т. д.

Все другие приложения, такие как Facebook, Google+ это делает

Нет, это не так. Они используют ContentResolver и:

  • openInputStream() для чтения в байтах, связанных с содержимым
  • getType(), чтобы получить тип MIME, связанный с содержимым
  • query() и OpenableColumns, чтобы получить размер и отображаемое имя, связанные с контентом
29
задан joshferrara 5 June 2014 в 05:18
поделиться

4 ответа

Это, вероятно, будет исправлено в более новых версиях MongoDB ( https://jira.mongodb.org/browse/SERVER-14204 ), а пока просто исправьте формулу.

brew edit mongodb

Найдите блок, который выглядит следующим образом:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=#{MacOS.version}
]

И измените минимальную версию OS X на 10,9, например:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=10.9
]

РЕДАКТИРОВАТЬ: Дополнительный шаг для DP3, DP4, PB1

Все еще в файле, добавьте следующие 3 строки чуть выше def install.

  def patches
    { :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
  end

А затем выполнить обновление:

brew upgrade mongodb
89
ответ дан uthark 5 June 2014 в 05:18
поделиться

Просто упомянуть - эта проблема была исправлена.
Построен и установлен сегодня (13.10.2014) через $ brew install mongodb

==> Summary
                  
4
ответ дан ajndl 5 June 2014 в 05:18
поделиться

Похоже, патч был предложен. Но у меня нет никакой информации - https://groups.google.com/forum/#!topic/mongodb-user/KToczUct6BE

Я бы хотел, чтобы это работало также.

1
ответ дан tspore 5 June 2014 в 05:18
поделиться

Если описанные Линусом шаги недостаточны, выполните дополнительные шаги (10.10 beta 3 и beta 4):

  1. cd / Library / Caches / Homebrew /
  2. tar xvfz mongodb-2.6.3.tar.gz
  3. cd mongodb-src-r2.6.3
  4. vi src / third_party / s2 / util / endian / endian.h
  5. Раскомментируйте строки 181-189

    // This one is safe to take as it's an extension
    //#define htonll(x) ghtonll(x)
    //
    // ntoh* and hton* are the same thing for any size and bytesex,
    // since the function is an involution, i.e., its own inverse.
    //#define gntohl(x) ghtonl(x)
    //#define gntohs(x) ghtons(x)
    //#define gntohll(x) ghtonll(x)
    //#define ntohll(x) htonll(x)
    
  6. CD ..
  7. rm mongodb-2.6.3.tar.gz
  8. tar cvfz mongodb-2.6.3.tar.gz mongodb-src-r2.6.3
  9. brew install mongodb

    ==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.3.tar.gz
    Already downloaded: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz
    Error: SHA1 mismatch
    Expected: 226ab45e3a2e4d4a749271f1bce393ea8358d3dd
    Actual: 593bbe9cb7e0b1d2368b3b6487893e8ba459acfb
    Archive: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz
    
  10. Скопируйте фактический SHA1
  11. brew edit mongodb
  12. Замените ожидаемое значение SHA1 фактическим.
  13. brew install mongodb
  14. rm -rf mongodb-src-r2.6.3
3
ответ дан hirro 5 June 2014 в 05:18
поделиться
Другие вопросы по тегам:

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