Windows マシンと Linux マシンの間で Ruby on Rails アプリの開発を行っています。理想的ではありませんが、Ruby on Windows は大幅に改善されました。とにかく、IFステートメントを実装できることを読んだので、たとえばこれを実装しました
source 'https://rubygems.org'
if RUBY_PLATFORM =~ /win32/
gem 'rails', '3.2.3'
gem 'sqlite3'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'nokogiri'
gem 'httparty'
gem 'devise'
else
gem 'rails', '3.2.3'
gem 'sqlite3', '1.3.6'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
gem 'less-rails'
gem 'uglifier', '>= 1.0.3'
gem 'execjs'
gem 'therubyracer', '0.10.2'
end
gem 'jquery-rails'
gem 'nokogiri'
gem 'httparty'
gem 'devise'
end
だから今朝、Linuxブランチをマスターブランチ(Windows)にマージしたところ、メッセージが表示されました
Could not find the less-rails in any of the sources
そのため、IFステートメントが機能していないか、Linuxブランチでこれを使用しているため、資産のbootstrap.css.lessファイルに問題があるようです
これを機能させるにはどうすればよいので、両方のプラットフォームでの作業を減らすか、ウィンドウに少ない宝石を無視させます
誰かが前にこれを回避しましたか
アップデート
わかりましたので、指定した場合
:platform => :ruby
less-rails gemの後、jsランタイムの競合のために無視されます(ただし、execjsとrubyracerにも追加する必要がありました)..したがって、IF / ELSEステートメントの何が問題なのかについてはまだ疑問が残っています
ありがとう