1

I'm running emacs on Mac Os, I have settled RVM and a rails project. It works well on console:

 rvm list                                                                                                                                                                                               
rvm rubies

=> ruby-2.1.6 [ x86_64 ]
 * ruby-2.4.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

and also running the rails console

RAILS_ENV=development bundle exec rails console                                                                                                                                                                    
Loading development environment (Rails 3.2.22.4)
2.1.6 :001 >

But when, I run emcas as OSX APP, rvm works well rvm-activate, and then running the console I get this:

Ignoring bcrypt-3.1.11 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.11
Ignoring binding_of_caller-0.7.2 because its extensions are not built.  Try: gem pristine binding_of_caller --version 0.7.2
Ignoring byebug-9.0.6 because its extensions are not built.  Try: gem pristine byebug --version 9.0.6
Ignoring debug_inspector-0.0.2 because its extensions are not built.  Try: gem pristine debug_inspector --version 0.0.2
Ignoring eventmachine-1.0.8 because its extensions are not built.  Try: gem pristine eventmachine --version 1.0.8
Ignoring executable-hooks-1.3.2 because its extensions are not built.  Try: gem pristine executable-hooks --version 1.3.2
Ignoring ffi-1.9.8 because its extensions are not built.  Try: gem pristine ffi --version 1.9.8
Ignoring gem-wrappers-1.3.2 because its extensions are not built.  Try: gem pristine gem-wrappers --version 1.3.2
Ignoring gpgme-2.0.11 because its extensions are not built.  Try: gem pristine gpgme --version 2.0.11
Ignoring hitimes-1.2.6 because its extensions are not built.  Try: gem pristine hitimes --version 1.2.6
Ignoring json-1.8.6 because its extensions are not built.  Try: gem pristine json --version 1.8.6
Ignoring json-1.8.3 because its extensions are not built.  Try: gem pristine json --version 1.8.3
Ignoring libv8-3.16.14.7 because its extensions are not built.  Try: gem pristine libv8 --version 3.16.14.7
Ignoring mysql2-0.3.18 because its extensions are not built.  Try: gem pristine mysql2 --version 0.3.18
Ignoring nokogiri-1.6.8 because its extensions are not built.  Try: gem pristine nokogiri --version 1.6.8
Ignoring passenger-5.0.26 because its extensions are not built.  Try: gem pristine passenger --version 5.0.26
Ignoring rainbow-2.2.2 because its extensions are not built.  Try: gem pristine rainbow --version 2.2.2
Ignoring ruby-prof-0.13.0 because its extensions are not built.  Try: gem pristine ruby-prof --version 0.13.0
Ignoring sqlite3-1.3.11 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.11
Ignoring therubyracer-0.12.1 because its extensions are not built.  Try: gem pristine therubyracer --version 0.12.1
Ignoring thin-1.6.4 because its extensions are not built.  Try: gem pristine thin --version 1.6.4
Ignoring websocket-driver-0.3.0 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.3.0
Could not find bcrypt-3.1.11 in any of the sources
Run `bundle install` to install missing gems.

Process rails exited abnormally with code 7

This doen't happen, when running emacs form console, so I do not know how to set this

anquegi
  • 739
  • 5
  • 21

1 Answers1

1

On OS X, running Emacs GUI does not get the environment variables, I would guess that your RVM is of no use in such environment without the $PATH set properly.

Steve Purcell made a Elisp library that enables Emacs GUI to get the environment variables: exec-path-from-shell

To install it (from melpa):

  1. M-x package-list-packages
  2. Search for exec-path-from-shell and install the package.
  3. On your init.el

    (when (memq window-system '(mac ns x)) (exec-path-from-shell-initialize))

You can also copy specific environment variables (for example, those releated to RVM, like GEM_HOME or GEM_PATH:

(exec-path-from-shell-copy-env "GEM_PATH")

spav
  • 108
  • 8