Rails gem path error - ruby-on-rails

I have a rails app where I was installing gems and it worked fine.
Now, I do not knwow what I did, when I add a gem in the Gemfile and run bundle install, the app crashes with the Gem not found error (example.: "We're sorry, but something went wrong. ... Could not find gmaps4rails-2.1.2 in any of the sources (Bundler::GemNotFound)...").
I tried the command:
which gem gmaps4rails
output: /usr/bin/gem
Passenger error shows:
System Information
Ruby interpreter command
/home/webmaster/.rbenv/versions/2.3.3/bin/ruby
User and groups
uid=1001(webmaster) gid=33(www-data) groups=33(www-data),27(sudo),110(lxd)
Environment variables
APACHE_RUN_DIR = /var/run/apache2
APACHE_PID_FILE = /var/run/apache2/apache2.pid
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
APACHE_LOCK_DIR = /var/lock/apache2
LANG = C
APACHE_RUN_USER = www-data
APACHE_RUN_GROUP = www-data
APACHE_LOG_DIR = /var/log/apache2
PWD = /var/www/maus_view
PASSENGER_USE_FEEDBACK_FD = true
SERVER_SOFTWARE = Apache/2.4.18 (Ubuntu) Phusion_Passenger/5.1.5
PASSENGER_DEBUG_DIR = /tmp/passenger.spawn-debug.XXXXIfqFGX
USER = webmaster
LOGNAME = webmaster
SHELL =
HOME = /home/webmaster
IN_PASSENGER = 1
PYTHONUNBUFFERED = 1
NODE_PATH = /usr/share/passenger/node
RAILS_ENV = development
RACK_ENV = development
WSGI_ENV = development
NODE_ENV = development
PASSENGER_APP_ENV = development
BUNDLER_ORIG_PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GEM_PATH = /home/webmaster/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0:/home/webmaster/.gem/ruby/2.3.0
GEM_HOME = /home/webmaster/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0
I've read a lot of stackoverflow's post but I'm not able to debug and find a solution to this issue.
Can somebody help me?
Thank you
--- EDIT ---
This is my Gemfile:
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.2'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.18', '< 0.5'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem 'devise'
#gem 'gmaps4rails'

for some gems you need to install them through command line instead of just 'bundle installing' them.
So try running:
gem install gmaps4rails
And go to you projects directory and hit bundle install
Hope it helps!

Related

Rails foreign key issue in Heroku migrate with Postgres

I am trying to deploy a Rails project with Heroku.
In development I am running the Ruby project on AWS Educate Cloud9 and using Sqlite3 as the database.
I can successfully run the Rails project on AWS and migrations work fine also there
$ rails db:migrate
In Production the database is postgres.
This is the Gemfile
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.7', '>= 5.0.7.2'
# Use sqlite3 as the database for Active Record
#gem 'sqlite3', '~>1.3.0'
#gem 'devise' , '~>4.3.0'
gem 'devise', git: 'https://github.com/plataformatec/devise' #, ref: '88e9a85'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
gem 'sqlite3', '~>1.3.0'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :production do
gem 'pg'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
Using,
$ bundle update
$ bundle install --without production
$ git add .
$ git commit -m "blah"
$ git push origin master
$ git push heroku master
$ heroku run rails db:migrate
This gives an error which tells me that there is an issue with a foreign key, but when I db:migrate in development there is no issue with a foreign key. I only seem to get this error when I migrate in Heroku using 'pg'.

Could not locate Gemfile: gemfile not found

I just installed rails and I got the following message after creating "rails new mySite" and running "bundle install". I know gemfile is in the same folder and I checked it by typing "gem -v". I don't know what went wrong. Below is what I see when I run "bundle env".
bundle env
Before you run bundle install make sure the Gemfile has the proper name.
1 Gemfile instead of gemfile, the file is capitalized and has no file-type.
2 Make sure to cd the terminal location should be in the same location of you Gemfile
Try this
rails new mySite
cd mySite
bundle install
You need to be inside the project home directory to use bundle command.
Hope that helps!
Create a Gemfile and paste this code to the Gemfile.
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.7'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '< 1.4'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Your Ruby version is 2.5.1, but your Gemfile specified 2.6.3

I'm trying to run command " rake db:test:prepare" in 6.2 of Rails Tutorial book. And then I had this problem
I have already run " gem install bundler". But it wasn't work. After I check version in path /home/myname/.rvm/gems. T got version of Ruby is 2.6.3
Gemfile:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.3'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'annotate', '~> 2.7', '>= 2.7.5'
gem 'rspec-rails', '~> 3.8', '>= 3.8.2'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
# Easy installation and use of chromedriver to run system tests with Chrome
gem 'chromedriver-helper'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# group :production do
# gem 'pg', '0.17.1'
# gem 'rails_12factor', '0.0.2'
# end
How can i fix this problem? Thank you.
This usually comes up when the specified ruby version is not installed. To install using rvm run:
rvm install ruby-2.6.3
If you suspect it's already installed, then you may need to tell rvm to use the specific version, as it might default to another version (in this case 2.5.1). To do that run:
rvm --default use ruby-2.6.3
If it's not installed, the above command will throw a relevant error.

rake aborted! cannot load such file -- ap

I have build my new rails application and when I am trying to deploy to Apache server while executing bundle exec rake secret I am getting rake aborted! cannot load such file -- ap.This is the URL I have referred to deploy Deploying a Ruby app on a Linux/Unix production server.
Please look into my Gemfile
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.4'
# Use sqlite3 as the database for Active Record
gem 'mysql2'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
gem 'jquery-rails'
gem 'json'
gem 'jenkins_api_client'
gem 'mailfactory'
gem 'docx','>=0.2.07'
# gem 'jquery-turbolinks'
gem 'net-scp'
gem 'rubyXL'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'bcrypt'
# font awsome
gem "font-awesome-rails"
# parsley validation
gem "parsley-rails"
# devise for athentication
gem 'devise'
# gem "devise_ldap_authenticatable"
gem "toastr-rails"
# datapciker
gem 'bootstrap-datepicker-rails'
# image uploader
gem 'carrierwave'
# Active admin for admin
# gem 'activeadmin'
# To set dynamic value in docx
gem 'sablon'
# State_machine for status
gem 'aasm'
# Soft delete
gem 'paranoia'
# for seed
gem 'seed-fu'
# Net-SSH gem to exec batch file.
gem 'net-ssh'
# Schedule job
gem 'whenever', require: false
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 2.13'
gem 'selenium-webdriver'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'pry'
gem 'better_errors'
gem 'binding_of_caller'
gem 'meta_request'
gem "awesome_print", require:"ap"
# gem 'quiet_assets'
gem 'pry-rails'
gem 'bullet'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
This is my first application i tried to deploy, please help to resolve this issue
My ruby version is
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
rails version - 5.1.4
This line in the Gemfile seems strange to me
gem "awesome_print", require:"ap"
Can you remove the require: "ap" and check if it works then?

Rails unable to deploy new gem to production

so for all this while i have been deploying my web app without knowing its on production or not.
I would usually create my project as usual , where i just do the basic bundle install. and add new gems. Setup unicorn + nginx .
And then when i view the aws's public dns, it would show me my site as i would get on localhost:3000.
In my mind, i am still in development environment. However, it seems that when i installed a new gem , it only works on localhost:3000 but on the deployed site it self it is unrecognized. Example would be an ActiveAdmin gem , where on my site it shows "uninitialized constant ActiveAdmin" .
How should i solve this ? I am suspecting it could be because of different environments, but i am unsure how to approach this.
UPDATE my gem file
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
#gem 'pdf-reader'
gem 'pdf-reader-turtletext'
gem 'nokogiri'
gem 'whenever', :require => false
gem 'unicorn'
gem 'devise'
#gem 'rails_admin', '~> 1.1.1'
gem 'activeadmin', github: 'activeadmin'
gem 'inherited_resources', github: 'activeadmin/inherited_resources'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 2.13'
gem 'selenium-webdriver'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Resources