Как изменить платформу rubygems с x86-mingw32 на x86-mswin32-60 в Windows - PullRequest
3 голосов
/ 17 июля 2010

Я делаю некоторые сценарии ruby ​​в Windows, которые включают в себя открытие и закрытие браузера. Для этого мне потребовалось несколько специальных гемов для взаимодействия с системными вызовами Windows. Но когда я попробовал

> gem install sys-proctable

, это дало

ERROR: Could not find a valid gem ´sys-proctable´ (>= 0), here is why: 
          Found sys-proctable (0.9.0), but was for platforms x86-darwin-8 
            ,x86-freebsd-7 ,x86-solaris-2.10 ,x86-linux ,x86-mswin32-60

Проблема в том, что в моей установке gem нет платформы x86-mswin32-60 rubygems

> gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]

  ...

  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32

  ...

Кажется, проблема в том, что моя версия ruby ​​компилируется с библиотеками mingw. Итак, мой вопрос: как я могу получить версию ruby, где платформы rubygems включают x86-mswin32-60? Я не могу найти инсталляторов на rubyinstaller.org, которые не являются mingw.

--- редактировать ---

Эта последняя часть была немного поспешной. На самом деле rubyinstaller.org содержит устаревшие программы установки одним щелчком, которые были созданы для mswin32. Но у этой установки были некоторые другие проблемы для меня, поэтому я думаю, что я попробую решение от Луиса ниже.

1 Ответ

5 голосов
/ 18 июля 2010

Вы можете принудительно установить gem, указав параметр --platform:

gem install sys-proctable --platform=x86-mswin32-60

Однако я советую отказаться от него по нескольким причинам, некоторые из которых я упоминал в своем блоге здесь

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

Надеюсь, это поможет.

...