40

I'm following the Ruby tutorial on Treehouse and I keep getting the following error when starting the rails server:

/usr/local/rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.2.4/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777
/usr/local/rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.2.4/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777

I tried fixing it with the sudo chmod o-w /usr/local/ fix and other variations, but sadly that didn't do anything for me.

Even with that error though the server would still start and everything would work fine but now I get a lot of other errors as well and the server won't even start anymore, and I thought they might be connected somehow?

This is the error I get now:

 Yass-Bents-MacBook-Pro:treebook yassine$ rails s
/usr/local/rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.2.4/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777
/usr/local/rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.2.4/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777
=> Booting WEBrick
=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:469:in `load': /Users/yassine/treebook/app/models/user.rb:12: syntax error, unexpected keyword_end (SyntaxError)
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:469:in `block in load_file'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:639:in `new_constants_in'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:468:in `load_file'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:353:in `require_or_load'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:502:in `load_missing_constant'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:192:in `block in const_missing'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:190:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:190:in `const_missing'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/inflector/methods.rb:230:in `block in constantize'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/inflector/methods.rb:229:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/inflector/methods.rb:229:in `constantize'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:554:in `get'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:588:in `constantize'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise.rb:272:in `get'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/mapping.rb:77:in `to'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/mapping.rb:72:in `modules'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/mapping.rb:89:in `routes'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/mapping.rb:156:in `default_used_route'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/mapping.rb:66:in `initialize'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise.rb:306:in `new'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise.rb:306:in `add_mapping'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/rails/routes.rb:208:in `block in devise_for'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/rails/routes.rb:207:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/lib/devise/rails/routes.rb:207:in `devise_for'
    from /Users/yassine/treebook/config/routes.rb:2:in `block in <top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:282:in `instance_exec'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:282:in `eval_block'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:260:in `draw'
    from /Users/yassine/treebook/config/routes.rb:1:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `block in load'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `load_paths'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:16:in `reload!'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:26:in `block in updater'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/file_update_checker.rb:78:in `call'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/file_update_checker.rb:78:in `execute'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:27:in `updater'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application/finisher.rb:66:in `block in <module:Finisher>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `instance_exec'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `run'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `run_initializers'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/application.rb:136:in `initialize!'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/yassine/treebook/config/environment.rb:5:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `block in require'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require'
    from /Users/yassine/treebook/config.ru:3:in `block in <main>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
    from /Users/yassine/treebook/config.ru:in `new'
    from /Users/yassine/treebook/config.ru:in `<main>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/server.rb:46:in `app'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/server.rb:70:in `start'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:55:in `block in <top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Yass-Bents-MacBook-Pro:treebook yassine$ 

Any suggestions on fixing this? I tried reinstalling Rails but that didn't help, still the same errors.

Thanks!

user2448263
  • 401
  • 1
  • 4
  • 3

3 Answers3

133

Try the option "Repair Disk Permissions" from the disk utility

[EDIT]

For OS X El Capitan:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

enter image description here

Cœur
  • 37,241
  • 25
  • 195
  • 267
Wazery
  • 15,394
  • 19
  • 63
  • 95
39

Try your chmod with a -R (for recursive):

chmod -R o-w /usr/local/
Denis de Bernardy
  • 75,850
  • 13
  • 131
  • 154
  • 6
    Thanks man, the chmod commands didn't work for me, but I did a repair of the disk permissions in Disk Utility and that fixed it. – user2448263 Jun 03 '13 at 15:36
  • 1
    Repairing the disk utils worked for me too. Thanks. :) – corysimmons Feb 01 '14 at 19:28
  • @CorySimmons: mind highlighting your OSX version? (In my case (Snow Leopard or Lion, can't recollect when it happened, that hadn't worked when I ran into the error.) – Denis de Bernardy Feb 01 '14 at 22:51
  • 1
    I tried the Disk Util method, that dint work. Then I tried what @Denis has mentioned here. That solved it for me. Thanks – T J Apr 04 '14 at 07:42
15

About the warnings:

... warning: Insecure world writable dir /usr in PATH, mode 040777
... warning: Insecure world writable dir /usr in PATH, mode 040777

They are telling you that the directory /usr (and not /usr/local) is world writable. To fix: chmod -R go-w /usr.

The error says:

... `load': /Users/yassine/treebook/app/models/user.rb:12: syntax error, unexpected keyword_end (SyntaxError)

There's an extra end keyword on line 12 in your user.rb file.

toro2k
  • 19,020
  • 7
  • 64
  • 71
  • 1
    Thanks a lot! I can start the server now, the chmod commands didn't work for me, but I did a repair of the disk permissions in Disk Utility and that fixed it. I had an extra comma in the user.rb files that caused the other errors. – user2448263 Jun 03 '13 at 15:38
  • what's "go" in "chmod -R go-w /usr."? – Incerteza Jul 20 '14 at 02:31
  • 1
    @AlexanderSupertramp `go` means group and others, see `man 1 chmod` for more details. – toro2k Jul 20 '14 at 08:40