Thursday, September 6, 2012

Install Postgres gem issue on rails app

When you try to install postgres gem for your application, but unfortunately you end up with this problem

$ gem install pg -v '0.14.0'

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /home/user/.rvm/rubies/ruby-1.9.3/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
checking for libpq-fe.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/user/.rvm/rubies/ruby-1.9.3/bin/ruby
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config

Solution:

$ sudo apt-get install libpq-dev

You need to install postgresql-server for building a server-side extension or libpq-dev for building a client-side application.


Monday, September 3, 2012

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

$ rails server

/home/user/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
             from /home/user/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
 
The reason for this issue is missing Node JS Package Manager. Check this link for how to install package manger based on your operating system.

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

I hope it may help you to solve the problem.

The program 'rails' is currently not installed. You can install it by typing: sudo apt-get install rails

user@localhost:~$ rails new blog
The program 'rails' is currently not installed.  You can install it by typing: sudo apt-get install rails

If you get this message when you were creating new rails project. To fix this issue

1. Go to profile settings (.bashrc or .bash_profile)

2. Add this line at end of the file

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Loading RVM into a shell

3. If you are in existing shell prompt, execute this command

source ~/.bashrc
or
source ~/.bash_profile

If you open a new terminal, you can notice  that rails command is automatically available.I hope this post helpful to fix rails command issue.



Note:
I believe you have installed ruby by Ruby Version Manger(RVM). Refer the installation steps
https://rvm.io/rvm/install/