我正在Mac上开发一个Rails应用程序,我是新手测试,所以我只是将这些宝石添加到我的Gemfile中:
group :test, :development do
gem 'rspec-rails'
gem 'rb-fsevent'
gem 'growl'
end
Run Code Online (Sandbox Code Playgroud)
但是我的生产服务器运行Linux,所以即使它们没有分组:production,bundler(v1.0.21)仍然会尝试安装它们.......显然失败了!
extconf.rb:19:in '<main>': Only Darwin (Mac OS X) systems are supported (RuntimeError)
RAILS_ENV在运行之前设置为生产bundle install 不起作用.
它通过运行起作用bundle install --without development test,但是如何仅通过基于您的操作系统的捆绑器来考虑这些宝石?
编辑: bundler wiki提供有关如何使用platform作为参数的详细信息.
在捆绑问题#663中给出了相同的解决方案,所以我尝试了:
group :test, :development do
gem 'rspec-rails'
platforms :darwin do
gem 'rb-fsevent'
gem 'growl'
end
end
Run Code Online (Sandbox Code Playgroud)
bundle install不起作用,但即使我们回到原点并做
bundle install --without darwin,结果是'darwin' is not a valid platform. …
我一直在尝试解决这个错误几个小时,但没有取得任何进展。我试过在不同的环境中运行 bundle install ,但没有运气。我不确定发生了什么,我觉得好像错误不再提供相关反馈。但是,我使用的是 Ruby 1.9.3,当我推送它时,会指出 Heroku 使用的是 Ruby 2.0.0。这可能与它有关吗?
Castillos-MacBook-Pro:reservester-nysum13 castillo$ git push heroku master
Identity added: /Users/castillo/.ssh/id_rsa (/Users/castillo/.ssh/id_rsa)
Counting objects: 66, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (51/51), done.
Writing objects: 100% (66/66), 26.25 KiB, done.
Total 66 (delta 4), reused 38 (delta 1)
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using Bundler version 1.3.2
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
You are trying …Run Code Online (Sandbox Code Playgroud)