bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Как правильно разделить гемы для разных платформ?

Здравствуйте. Подскажите пожалуйста. Решил перевести свой проект, с Windows-сервера на Linux. И вот один gem, нужно что бы под Windows уставнивался вот так:
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git'


а под Линкус, вот так потому что если указывать git то выдает ошибку:

gem 'bcrypt'

Если указать 2 гема, то выдает ошибку
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', platforms: [:mingw, :x64_mingw]
gem 'bcrypt', platforms: [:mri]


Спасибо.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
oh_shi
@oh_shi
В интерпритаторе посмотрите какие значения у интересующих платформ в константе RUBY_PLATFORM.
if RUBY_PLATFORM =~ /x86_64-linux/
  gem 'bcrypt'
else
  gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git'
end
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
amerov
@amerov
Web Developer
platforms :mswin do
  gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git'
end

platforms  :ruby  do
  gem 'bcrypt'
end


OR

install_if -> { RUBY_PLATFORM =~ /linux/ } do
  gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git'
end

install_if -> { RUBY_PLATFORM =~ /mswin/ }
  gem 'bcryptcrypt'
end
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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