RailsApps / rails-composer

Rails Composer. The Rails generator on steroids for starter apps.
http://www.railscomposer.com/
3.38k stars 486 forks source link

Figaro option crashes Rails Composer #209

Closed DazDotOne closed 8 years ago

DazDotOne commented 9 years ago

Error message

The template [https://raw.github.com/RailsApps/rails-composer/master/composer.rb] could not be loaded. Error: No such file or directory @ rb_sysopen - /path/to/my/app/config/application.yml

Full output of template

rails new posting_ninja -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb
    create  
    create  README.rdoc
    create  Rakefile
    create  config.ru
    create  .gitignore
    create  Gemfile
    create  app
    create  app/assets/javascripts/application.js
    create  app/assets/stylesheets/application.css
    create  app/controllers/application_controller.rb
    create  app/helpers/application_helper.rb
    create  app/views/layouts/application.html.erb
    create  app/assets/images/.keep
    create  app/mailers/.keep
    create  app/models/.keep
    create  app/controllers/concerns/.keep
    create  app/models/concerns/.keep
    create  bin
    create  bin/bundle
    create  bin/rails
    create  bin/rake
    create  config
    create  config/routes.rb
    create  config/application.rb
    create  config/environment.rb
    create  config/secrets.yml
    create  config/environments
    create  config/environments/development.rb
    create  config/environments/production.rb
    create  config/environments/test.rb
    create  config/initializers
    create  config/initializers/assets.rb
    create  config/initializers/backtrace_silencers.rb
    create  config/initializers/cookies_serializer.rb
    create  config/initializers/filter_parameter_logging.rb
    create  config/initializers/inflections.rb
    create  config/initializers/mime_types.rb
    create  config/initializers/session_store.rb
    create  config/initializers/wrap_parameters.rb
    create  config/locales
    create  config/locales/en.yml
    create  config/boot.rb
    create  config/database.yml
    create  db
    create  db/seeds.rb
    create  lib
    create  lib/tasks
    create  lib/tasks/.keep
    create  lib/assets
    create  lib/assets/.keep
    create  log
    create  log/.keep
    create  public
    create  public/404.html
    create  public/422.html
    create  public/500.html
    create  public/favicon.ico
    create  public/robots.txt
    create  test/fixtures
    create  test/fixtures/.keep
    create  test/controllers
    create  test/controllers/.keep
    create  test/mailers
    create  test/mailers/.keep
    create  test/models
    create  test/models/.keep
    create  test/helpers
    create  test/helpers/.keep
    create  test/integration
    create  test/integration/.keep
    create  test/test_helper.rb
    create  tmp/cache
    create  tmp/cache/assets
    create  vendor/assets/javascripts
    create  vendor/assets/javascripts/.keep
    create  vendor/assets/stylesheets
    create  vendor/assets/stylesheets/.keep
     apply  https://raw.github.com/RailsApps/rails-composer/master/composer.rb
  composer  
  composer   _____       _ _
  composer  |  __ \     (_) |       /\
  composer  | |__) |__ _ _| |___   /  \   _ __  _ __  ___
  composer  |  _  // _` | | / __| / /\ \ | '_ | '_ \/ __|
  composer  | | \ \ (_| | | \__ \/ ____ \| |_) | |_) \__ \
  composer  |_|  \_\__,_|_|_|___/_/    \_\ .__/| .__/|___/
  composer                               | |   | |
  composer                               | |   | |
  composer  
  composer  Rails Composer, open source, supported by subscribers.
  composer  Please join RailsApps to support development of Rails Composer.
  composer  Need help? Ask on Stack Overflow with the tag 'railsapps.'
  composer  Your new application will contain diagnostics in its README file.
    insert    config/application.rb
    recipe  Running core recipe...
      core  selected all core recipes
    recipe  Running git recipe...
       git  initialize git
    remove    .gitignore
    create    .gitignore
       run    git init from "."

Initialized empty Git repository in /Users/daz/Documents/rails/work/posting_ninja/.git/ run git add -A from "." run git commit -qm "rails_apps_composer: initial commit" from "." recipe Running railsapps recipe... option Build a starter application? 1) Build a RailsApps example application 2) Contributed applications (none available) 3) Custom application (experimental) choose Enter your selection: 3 Get on the mailing list for Rails Composer news? option Enter your email address: recipe Running learn_rails recipe... recipe Running rails_bootstrap recipe... recipe Running rails_foundation recipe... recipe Running rails_omniauth recipe... recipe Running rails_devise recipe... recipe Running rails_devise_roles recipe... recipe Running rails_devise_pundit recipe... recipe Running rails_signup_download recipe... recipe Running rails_mailinglist_activejob recipe... recipe Running rails_stripe_checkout recipe... recipe Running setup recipe... setup Your operating system is darwin13.1.0. setup You are using Ruby version 2.1.2. setup You are using Rails version 4.1.4. option Web server for development? 1) WEBrick (default) 2) Thin 3) Unicorn 4) Puma 5) Phusion Passenger (Apache/Nginx) 6) Phusion Passenger (Standalone) choose Enter your selection: 1 option Web server for production? 1) Same as development 2) Thin 3) Unicorn 4) Puma 5) Phusion Passenger (Apache/Nginx) 6) Phusion Passenger (Standalone) choose Enter your selection: 5 option Database used in development? 1) SQLite 2) PostgreSQL 3) MySQL choose Enter your selection: 2 option Template engine? 1) ERB 2) Haml 3) Slim choose Enter your selection: 1 option Test framework? 1) None 2) RSpec with Capybara choose Enter your selection: 2 setup Adding DatabaseCleaner, FactoryGirl, Faker, Launchy, Selenium option Continuous testing? 1) None 2) Guard choose Enter your selection: 2 option Front-end framework? 1) None 2) Bootstrap 3.2 3) Bootstrap 2.3 4) Zurb Foundation 5.4 5) Zurb Foundation 4.0 6) Simple CSS choose Enter your selection: 2 option Add support for sending email? 1) None 2) Gmail 3) SMTP 4) SendGrid 5) Mandrill choose Enter your selection: 1 option Authentication? 1) None 2) Devise 3) OmniAuth choose Enter your selection: 2 option Devise modules? 1) Devise with default modules 2) Devise with Confirmable module 3) Devise with Confirmable and Invitable modules choose Enter your selection: 1 option Authorization? 1) None 2) Simple role-based 3) Pundit choose Enter your selection: 1 option Use a form builder gem? 1) None 2) SimpleForm choose Enter your selection: 1 option Add pages? 1) None 2) Home 3) Home and About 4) Home and Users 5) Home, About, and Users choose Enter your selection: 2 create README append README recipe Running locale recipe... option Set a locale? Enter nothing for English, or es, de, etc: recipe Running readme recipe... recipe Running gems recipe... insert Gemfile gsub Gemfile gsub Gemfile gsub Gemfile gsub Gemfile gsub Gemfile run git add -A from "." run git commit -qm "rails_apps_composer: Gemfile" from "." recipe Running tests recipe... recipe Running email recipe... recipe Running devise recipe... recipe Running omniauth recipe... recipe Running roles recipe... recipe Running frontend recipe... recipe Running pages recipe... recipe Running init recipe... recipe Running analytics recipe... option Install page-view analytics? 1) None 2) Google Analytics 3) Segment.io choose Enter your selection: 1 recipe Running deployment recipe... option Prepare for deployment? 1) no 2) Heroku 3) Capistrano choose Enter your selection: 1 recipe Running extras recipe... option Set a robots.txt file to ban spiders? (y/n) y option Create a GitHub repository? (y/n) n option Add gem and file for environment variables? 1) None 2) Add .env with Foreman 3) Add application.yml with Figaro choose Enter your selection: 3 option Reduce assets logger noise during development? (y/n) y option Improve error reporting with 'better_errors' during development? (y/n) y option Use 'pry' as console replacement during development and test? (y/n) n option Use or create a project-specific rvm gemset? (y/n) y extras recipe creating project-specific rvm gemset and .rvmrc extras creating RVM gemset 'posting_ninja' extras switching to gemset 'posting_ninja' WARN: Unresolved specs during Gem::Specification.reset: tzinfo (~> 1.1) minitest (~> 5.1) rake (>= 0.8.7) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. create .ruby-version create .ruby-gemset extras recipe setting quiet_assets for reduced asset pipeline logging extras recipe creating application.yml file for environment variables with figaro extras recipe adding better_errors gem extras recipe banning spiders by modifying 'public/robots.txt' composer Installing gems. This will take a while. run bundle install --without production from "." Fetching gem metadata from https://rubygems.org/......... Resolving dependencies... Installing rake 10.4.0 Using i18n 0.6.11 Using json 1.8.1 Installing minitest 5.4.3 Using thread_safe 0.3.4 Installing tzinfo 1.2.2 Using activesupport 4.1.4 Using builder 3.2.2 Using erubis 2.7.0 Using actionview 4.1.4 Using rack 1.5.2 Using rack-test 0.6.2 Using actionpack 4.1.4 Using mime-types 1.25.1 Using polyglot 0.3.5 Using treetop 1.4.15 Using mail 2.5.4 Using actionmailer 4.1.4 Using activemodel 4.1.4 Using arel 5.0.1.20140414130214 Using activerecord 4.1.4 Installing addressable 2.3.6 Installing bcrypt 3.1.9 Installing coderay 1.1.0 Installing better_errors 2.0.0 Installing debug_inspector 0.0.2 Installing binding_of_caller 0.7.2 Installing sass 3.2.19 Installing bootstrap-sass 3.3.1.0 Using bundler 1.6.2 Installing mini_portile 0.6.1 Installing nokogiri 1.6.4.1 Installing xpath 2.0.0 Installing capybara 2.4.4 Installing hitimes 1.2.2 Installing timers 4.0.1 Installing celluloid 0.16.0 Installing ffi 1.9.6 Installing childprocess 0.5.5 Installing coffee-script-source 1.8.0 Installing execjs 2.2.2 Installing coffee-script 2.3.0 Using thor 0.19.1 Using railties 4.1.4 Installing coffee-rails 4.0.1 Installing database_cleaner 1.3.0 Installing orm_adapter 0.5.0 Installing responders 1.1.2 Installing warden 1.2.3 Installing devise 3.4.1 Installing diff-lcs 1.2.5 Installing factory_girl 4.5.0 Installing factory_girl_rails 4.5.0 Installing faker 1.4.3 Installing figaro 1.0.0 Installing formatador 0.2.5 Installing rb-fsevent 0.9.4 Installing rb-inotify 0.9.5 Installing listen 2.8.1 Installing lumberjack 1.0.9 Installing method_source 0.8.2 Using slop 3.6.0 Installing pry 0.10.1 Installing guard 2.8.2 Installing guard-bundler 2.0.0 Installing guard-rails 0.7.0 Installing rspec-support 3.1.2 Installing rspec-core 3.1.7 Installing rspec-expectations 3.1.2 Installing rspec-mocks 3.1.3 Installing rspec 3.1.0 Installing guard-rspec 4.3.1 Using hike 1.2.3 Using multi_json 1.10.1 Installing jbuilder 2.2.5 Installing jquery-rails 3.1.2 Installing launchy 2.4.3 Installing pg 0.17.1 Installing quiet_assets 1.0.3 Using tilt 1.4.1 Installing sprockets 2.11.3 Installing sprockets-rails 2.2.1 Using rails 4.1.4 Installing rails_apps_pages 0.5.15 Installing rails_apps_testing 0.3.12 Installing rails_layout 1.0.24 Installing rb-fchange 0.0.6 Installing rdoc 4.1.2 Installing rspec-rails 3.1.0 Installing rubyzip 1.1.6 Installing sass-rails 4.0.4 Installing sdoc 0.4.1 Installing websocket 1.2.1 Installing selenium-webdriver 2.44.0 Installing spring 1.2.0 Installing spring-commands-rspec 1.0.2 Installing turbolinks 2.5.2 Installing uglifier 2.5.3 Your bundle is complete! Gems in the group production were not installed. Use bundle show [gemname] to see where a bundled gem is installed. Post-install message from rdoc: Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported = 1.8.7 : gem install rdoc-data; rdoc-data --install = 1.9.1 : gem install rdoc-data; rdoc-data --install

= 1.9.2 : nothing to do! Yay! composer Updating gem paths. composer Stage Two (running recipe 'stage_two' callbacks). locale gems gems recipe stage two gems configuring database remove config/database.yml create config/database.yml option Username for PostgreSQL?(leave blank to use the app name) option Host for PostgreSQL in database.yml? (leave blank to use default socket connection) gems Creating a user named 'posting_ninja' for PostgreSQL run createuser --createdb posting_ninja from "." gsub config/database.yml gsub config/database.yml gsub config/database.yml gsub config/database.yml option Okay to drop all existing databases named posting_ninja? 'No' will abort immediately! (y/n) y run bundle exec rake db:drop from "." run bundle exec rake db:create:all from "." run git add -A from "." run git commit -qm "rails_apps_composer: create database" from "." gems gems recipe stage two gems running generators run figaro install from "." gsub config/application.yml

Any suggestions as to the cause/effects of this would be appreciated.

I really want to use this tool but every time I try, I seem to get errors.

Thanks

DazDotOne commented 9 years ago

I've just spent some time generating various apps with composer and this is definitely an issue with figaro commands firing before the figaro install command. I know that the custom app recipes are user contributed and not maintained by your selves but what is the best way to report this issue?

DanielKehoe commented 9 years ago

If you skip Figaro, does it work?

DazDotOne commented 9 years ago

It does.

Again, what would be the best way to report this issue?

Thanks

DanielKehoe commented 9 years ago

You've reported the issue here. There's no one maintaining support for the Figaro integration, so I'll look into it myself. The actual fix has to go to https://github.com/RailsApps/rails_apps_composer, which is the gem that contains all the recipes and generates the Rails Composer script.

Can you tell me why you want to use Figaro? It's largely unnecessary since we use config/secrets.yml.

DazDotOne commented 9 years ago

To be honest I've used it in the past and never had an issue with it.

I spent a while making a capistrano deployment recipe when I last used it so just instinctively chose to include it when prompted.

Had I not been asked I probably wouldn't have even thought about it to be honest.

Thanks @DanielKehoe

DanielKehoe commented 9 years ago

See how you do without Figaro. Let me know if you find a compelling reason to use it.

DazDotOne commented 9 years ago

I will probably continue to use it seems a very convenient way to manage your secrets by using environment variables.

That said, it's a two second job to add it to a project and so doesn't really need to be added until after the composer has finished.

I'd be tempted to just remove the option until somebody takes on the maintenance.

DanielKehoe commented 9 years ago

Have you tried using config/secrets.yml? Figaro is largely redundant when you use config/secrets.yml.

DazDotOne commented 9 years ago

I will definitely give it a go next time. Thanks for the suggestion

Eunoia commented 9 years ago

I ran into the same issue, and this thread was the second result on Google.

By not selecting figaro, I was able to get further in the composer.

Given that figaro is largely redundant, and figaro is breaking the script, should we remove figaro from rails composer?

DanielKehoe commented 9 years ago

I just took a look at this and I'm unable to duplicate the issue (using the options @Qbd selected). The build succeeds when I choose the Figaro option.@Eunoia could you provide the contents of the README file?

Here are the options I used:

option  Build a starter application?
choose  Enter your selection: [none]
option  Get on the mailing list for Rails Composer news?
choose  Enter your selection: [none]
option  Web server for development?
choose  Enter your selection: [webrick]
option  Web server for production?
choose  Enter your selection: [passenger]
option  Database used in development?
choose  Enter your selection: [postgresql]
option  Template engine?
choose  Enter your selection: [erb]
option  Test framework?
choose  Enter your selection: [rspec]
option  Continuous testing?
choose  Enter your selection: [guard]
option  Front-end framework?
choose  Enter your selection: [bootstrap3]
option  Add support for sending email?
choose  Enter your selection: [none]
option  Authentication?
choose  Enter your selection: [devise]
option  Devise modules?
choose  Enter your selection: [default]
option  OmniAuth provider?
choose  Enter your selection: []
option  Authorization?
choose  Enter your selection: [none]
option  Use a form builder gem?
choose  Enter your selection: [none]
option  Add pages?
choose  Enter your selection: [home]
option  Set a locale?
choose  Enter your selection: [none]
option  Install page-view analytics?
choose  Enter your selection: [none]
option  Add a deployment mechanism?
choose  Enter your selection: [none]
option  Set a robots.txt file to ban spiders?
choose  Enter your selection: [true]
option  Create a GitHub repository? (y/n)
choose  Enter your selection: []
option  Add gem and file for environment variables?
choose  Enter your selection: [figaro]
option  Reduce assets logger noise during development?
choose  Enter your selection: [true]
option  Improve error reporting with 'better_errors' during development?
choose  Enter your selection: [true]
option  Use 'pry' as console replacement during development and test?
choose  Enter your selection: []
option  Use or create a project-specific rvm gemset?
choose  Enter your selection: [true]
jdarnok commented 9 years ago

I'm facing the same problem with figaro as @QBD did. It's now unnecessary to use it, so (as guys before) I am suggesting to get rid of that step (it makes more harm than good).

sixty4bit commented 8 years ago

Wow, a year later, Figaro still in the composer and still causing chaos. Breaks when building a custom build (hitting 3 on first question).

DanielKehoe commented 8 years ago

I've released a new version of Rails Composer that removes the Figaro option.

I never was able to reproduce the reported failure but based on the issue reports it seems wise to remove it. If anyone was successfully using the Figaro option and feels it is wrong to remove it, feel free to reopen the issue. I'll assume for now that no one really needs it.

bsgreenb commented 7 years ago

I prefer figaro to Foreman. >3000 stars. Can we please offer the option? It requires install and is a perfect fit for an app generator like this.