Используя gem "pg" с Rails 3 ... почему я получаю эту ошибку в Netbeans, когда я делаю "комплектную установку"? - PullRequest
2 голосов
/ 21 октября 2010

В моем уме вот это!

Моя текущая настройка: - Ruby 1.9.2 - Rails 3.0.1 - pg (0.9.0)

Мой $ PATH прямо сейчасвыглядит примерно так:

/ Users / fjones / .rvm / gems / ruby-1.9.2-p0 / bin: /Users/fjones/.rvm/gems/ruby-1.9.2-p0@ global / bin: /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin: /Users/fjones/.rvm/bin: ARCHFLAGS = -arch x86_64: / opt / local / bin: / opt/ местные / SBIN: / OPT / местные / Библиотека / postgresql84 / бен: / Library / Glassfish / бен: / USR / бен: / бен: / USR / SBIN: / SBIN: / USR / местные / бен: / USR / X11/ bin

Каждый раз, когда я пытаюсь выполнить «установку пакета» из Netbeans 6.9.1, я получаю следующее исключение.

Установка pg (0.9.0) с использованием nativeextensions /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in `спасение в блоке в build_extensions ': ОШИБКА: не удалось собрать гемродное расширение.(Gem :: Installer :: ExtensionBuildError)

/ Users / fjones / .rvm / rubies / ruby-1.9.2-p0 / bin / ruby ​​extconf.rb для проверки pg_config ... no

=========== ПРЕДУПРЕЖДЕНИЕ =========== Это расширение создается на OS X без установки переменной среды
ARCHFLAGS, и pg_config не найден втвой путь.Если вы видите это сообщение, это означает, что сборка, вероятно, завершится неудачей.

Если это произойдет, вы можете исправить это, включив путь к pg_config в PATH или установив переменную среды ARCHFLAGS в значение '-arch 'перед сборкой.

Например: (в bash) $ export PATH = / opt / local / lib / postgresql84 / bin: $ PATH
$ export ARCHFLAGS =' - arch x86_64 '(вtcsh)% set path = (/ opt / local / lib / postgresql84 / bin $ PATH)% setenv ARCHFLAGS '-arch x86_64'

Затем попробуйте собрать заново.

=================================== Сборка MacOS X: исправление флагов архитектуры: проверка libpq-fe.h ... нет CanНе удалось найти заголовок libpq-fe.h * extconf.rb не удалось * Не удалось создать Makefile по какой-то причине, возможно, из-за отсутствия необходимых библиотек и / или заголовков.Проверьте файл mkmf.log для более подробной информации.Вам могут понадобиться параметры конфигурации.

Предоставленные параметры конфигурации: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =.--curdir --ruby = / Пользователи / fjones / .rvm / rubies / ruby-1.9.2-p0 / bin / ruby ​​--with-pg --without-pg --with-pg-config --without-pg-config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include = $ {pg-dir} / include --with-pg-lib --without-pg-lib = $ {pg-dir} / lib --enable-static-build --disable-static-build

Файлы Gem останутся установленными в /Users/fjones/.rvm/rubies/ruby-1.9.2-p0 / lib / ruby ​​/ gems / 1.9.1 / gems / pg-0.9.0 для проверки.Результаты заносятся в /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/pg-0.9.0/ext/gem_make.out из / Users / fjones /.rvm / rubies / ruby-1.9.2-p0 / lib / ruby ​​/ 1.9.1 / rubygems / installer.rb: 486: в block in build_extensions' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:446:in каждый 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0 / lib / ruby ​​/ 1.9.1 / rubygems / installer.rb: 446: в build_extensions' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:198:in установить 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/source.rb:100:in install' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:55:in блок в запуске 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib / ruby ​​/ gems / 1.9.1 / gems / bundler-1.0.3 / lib / bundler / spec_set.rb: 12: в block in each' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in каждый 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0 / lib / ruby ​​/ gems / 1.9.1 / gems / bundler-1.0.3 / lib / bundler / spec_set.rb: 12: in each' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:44:in run 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:8:in install' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/cli.rb:221:in установить 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/task.rb: 22: в run' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor.rb:246:in dispatch' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/base.rb:389:in start 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3 / bin / bundle: 13: в <top (required)>' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin/bundle:19:in load 'из /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin/bundle:19:in `'

Ответы [ 2 ]

0 голосов
/ 23 октября 2010

ОТВЕТ:

Так что это действительно проблема с Netbeans 6.9.1, который не назначает правильную информацию о пути для драгоценных камней Ruby 1.9.2.Решение:

  1. Перейдите в Инструменты> Платформы Ruby
  2. Выберите Ruby 1.9.2-p0 в списке платформ
  3. Обновите «Gem Home» и «Gem Path»«на основе того, какими должны быть эти пути (запустите« gem env »из терминала, чтобы получить эту информацию)

Это на самом деле исправит ряд вещей в дополнение к возможностизапустите "bundle install" с помощью pg gem.Кроме того, вы сможете установить быстрый отладчик для 1.9.2 и управлять другими гемами изнутри netbeans.

0 голосов
/ 22 октября 2010

Похоже, вам нужно установить версию для разработки libpq (заголовки и библиотеки). К сожалению, я понятия не имею, что именно должно быть сделано в OS X.

...