我正在 Windows 机器和 linux 机器之间开发 Ruby on Rails 应用程序。不理想,但 Windows 上的 Ruby 改进了很多。无论如何,我读到你可以实现一个 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 分支合并到 master 分支(windows)中,现在我收到了消息
Could not find the less-rails in any of the sources
因此,当我在我的 linux 分支中使用它时,似乎 IF 语句不起作用或者资产中的 bootstrap.css.less 文件存在问题
我怎样才能让它工作,所以要么在两个平台上少工作,要么让 Windows 忽略更少的宝石
有没有人解决过这个问题
更新
好的,所以我发现如果我指定
:platform => :ruby
由于 js 运行时冲突,在 less-rails gem 之后它忽略了它(尽管我不得不添加到 execjs 和 rubyracer 中)。所以关于我的 IF/ELSE 语句有什么问题的问题仍然存在
谢谢