У меня есть приложение Rails, которое я разрабатываю в Windows и развертываю в Linux. Я подозреваю, что в будущем я полностью перейду на Linux. В любом случае, в Linux мне нужны "execjs" и "therubyracer", но мне не нужны те, что были в Win7. Поэтому я помещаю эти строки в свой gemfile:
gem 'therubyracer', :platforms => :ruby
gem 'execjs', :platforms => :ruby
Ran a bundle install
на виртуальной машине Linux, и приложение запущено в порядке. Но в Windows я получаю:
Uncaught exception: Could not find execjs-1.2.11 in any of the sources
Теперь, из того, что я читал (здесь под PLATFORMS), он говорит мне, что "Если драгоценный камень должен использоваться только на определенной платформе или множество платформ, вы можете указать их", и образец таков:
gem "weakling", :platforms => :jruby
И он говорит "ruby C Ruby (MRI) or Rubinius, but NOT Windows
". Поэтому для меня это говорит о том, что поставщик пакетов должен игнорировать строку execjs
в Windows. Однако в Windows, когда я запускал bundle install
, я увидел это:
Installing execjs (1.2.11)
Итак, я говорю, что я пропускаю что-то, что касается документов или связующего, игнорирует команду platform. Я делаю что-то неправильно?
PS>bundle -v
Bundler version 1.0.21