我正在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语句没有用,或者我的bootstrap.css.less文件存在问题,因为我在我的linux分支中使用它
我怎样才能让它工作,所以要么在两个平台上工作较少,要么让窗户忽略较少的宝石
有人在此之前解决了这个问题
更新
好的,所以我发现如果我指定
:platform => :ruby
在less-rails gem之后它会忽略它(虽然我不得不添加到execjs和rubyracer),因为js运行时冲突。所以问题仍然是我的IF / ELSE语句出了什么问题
由于
答案 0 :(得分:1)
您是否重建了捆绑锁定文件?
在Windows计算机上试试这个:
bundle install
bundle update
要了解有关bundle,Gemfile,Gemfile.lock以及切换平台时需要重建锁定的原因:http://gembundler.com/rationale.html