The passenger reports error that the gem json cannot be found. While other gems can be found because they are installed by bundle install. However, json was default installation by ruby 2.1.1.
And it is wired that bundle shows json has been deleted.
$ bundle show json
The gem json has been deleted. It was installed at:
/home/canoe/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/json-1.8.1
But gem can still find it on system.
$ gem list json
json (1.8.1)
And json is installed at this location /home/canoe/.rbenv/versions/2.1.1/lib/ruby/2.1.0/json.rb.
I don't use cap while deploying the rails4.1 application, so this solution doesn't work for me.
I don't want to package everything into somewhere, instead to use all current installed gems in the gemsets.
So, how to make bundle use system default gems in nginx passenger?
I encountered the same issue, but following post helped me: fusion passenger issue with json gem when running on nginx
Maybe you are also using some ruby version control tool. As I'm using RVM.
According to the comment in above post. passenger_ruby need to be pointed to the RVM wrapper folder.
eg:
passenger_ruby /usr/local/rvm/wrappers/ruby-2.0.0-p481/ruby;
Related
Hi I'm new to Ruby on rails and doing the tutorial on railstutorial.org, I'm stuck on the the first chapter about bundler install.I updated my gem file to what version I want them on but when I go to hello_app directory and type bundle install in in my shell I get a "couldn't find gem file". I type LS or ls in the hello_app directory and gemfile.rb shows up. what am i doing wrong? Ive done a search on this topic for 2 hours I have not found a solution. I have rails 4.2.1 installed but i also installed 4.2.0 because the book calls for this version, don't know if thats the cause.
If you installed rails correctly before creating a new rails app, I'm not sure you'll even need to update your gems with the bundle install
I found out what was wrong. I had saved the Gemfile in a .rb extension thinking it was suppose to be a ruby file. thats why it couldn't find the Gemfile. how I found out was just restarting the rails project from the beginning and do it step by step. I found the original Gemfile didn't have the .rb file extension, so when I tried bundle install it worked. thank for the reply #Mba Uchenna.
I recently updated to rails 4.1.6 and ruby 2.1.3p242. I also updated all gems on my system. After creating a new app, I keep getting a pg_ext load file error on running the server. I'm on windows 8 x64 with PostgreSQL 9.3. The pg gem was working fine under my previous RoR installation which was rails 3.2 and ruby 1.9.3.
Under the gem's installation directory, I've a 2.0/pg_ext.so file. I tried renaming the folder to 2.1 and ran the server. The result was the same. I assume it's cause Ruby doesn't allow to Require a .so file. Below is the screenshot of the error:
Any help would be really appreciated. Thanks!
Posted question on the official Gem page:
https://bitbucket.org/ged/ruby-pg/issue/192/pg_ext-load-error
As per the suggestion, I installed the pre-version of the next release. That gave me another error which was solved using:
https://github.com/tzinfo/tzinfo/wiki/Resolving-TZInfo::DataSourceNotFound-Errors
TZInfo::DataSourceNotFound error starting Rails v4.1.0 server on Windows
Posting the answer to help people facing similar problems in the future.
1) In the command line enter:
gem install pg --pre
gem list pg
2) In the Gemfile set the gem to the newly installed version:
gem 'pg', '~> 0.18.2'
I got a very limited internet connection on my office laptop and I want to install the 'best-in-place' gem. Since I use rails 4 I need to get the gem from github as far as I understood various threads. But I cant run bundle install with access outside of my local system.
Is it still possible to install that gem somehow? I already downloaded the folder form github and put it into my ruby but its not working that easy.
Best regards!
Edit: If thats not possible, does anyone of you uses an alternative gem with similar functions?
You can always clone it (or download it, as you have) and then access it later.
Let's say that you downloaded it to: /home/user3665315/workspace/best_in_place
Then, in your Gemfile you can access it locally with the :path option
# Gemfile
gem "best_in_place", path: "/home/user3665315/workspace/best_in_place"
then run
bundle install
and that's it, you have it working locally
Opened up a Rails project I haven't coded in a while and I just tried starting up the Rails server with:
`rails s`
and I get this error message:
.rvm/gems/ruby-2.0.0-p195#global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find i18n-0.6.4 in any of the sources (Bundler::GemNotFound)
Fwiw, I've done a bundle install and here's what I get when I check i18n:
$ gem list i18n
*** LOCAL GEMS ***
i18n (0.6.5)
Any idea what the problem is and how it should be fixed?
In case your rails gem is in the Gemfile, you should run
bundle exec rails s
instead. HTH.
There may be an issue with how you installed RVM.
Try calling gem list and see if it's mentioned anywhere there.
There's a Rails guide to internationalization API. It may contain useful information if reintalling RVM doesn't fix anything
http://guides.rubyonrails.org/i18n.html
I'm trying to install spree on my rails-4 application with only backend and api stuff. I've found on the web how to install spree for a rails4 application and I also found how to install only backend and api stuff. The problem is folowing, to install rails-4 I need to set it in branch :
gem 'spree', github: 'spree/spree', branch: 'rails4'
But if I want to use only spree's backend and api, I would usually specify them manually in gemfile :
gem 'spree_backend'
gem 'spree_api'
But since there is not specific git repo for them (they are all subfolders) I can't find out how to specify a subfolder in github in a specific branch.
Did I miss something?
Thanks
You're not missing something. The project in to separate gems when it is released. Spree doesn't have a subtree split of the subdirectories, so if you want to pull it in from git you'll have to do some work, or import the whole project.
Your best bet may be to try:
gem 'spree', github: 'spree/spree', branch: 'rails4', require: false
This will install the gem and maintain the dependencies, but not require anything. You can then manually require the sections that you want in an initializer.