Setting up Rails server - ruby

I'm a beginner in Ruby, following "Creating a New Rails Project".
But I can't start the server. I tried:
running rails server but got:
Could not find gem 'tzinfo-data <>= 0> x86-mingw32' in the gems available on the machine.
Run 'bundle install' to install missing gems.
running bundle install but got:
An error occurred while installing rake (10.4.2), and Bundler cannot continue.
Make sure that 'gem install rake -v '10.4.2'' succeeds before bundling.
gem 'tzinfo-data' but got:
Unknown command tzinfo-data
gem install tzinfo-data:
Could not find a valid gem 'tzinfo-data' <>= 0>, here is why:
Unable to download data from...
I have Windows 8.1. 64-bit
tzinfo-data was resolved with a cacert.pem file following the guide in the accepted answer. Today I am trying to install bootstrap-sass gem file. Do I need an another .pem file?
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read
server certificate B: certificate verify failed (https://rubygems.org/gems/boots
trap-sass-3.3.1.0.gem)
An error occurred while installing bootstrap-sass (3.3.1.0), and Bundler cannot
continue.
Make sure that `gem install bootstrap-sass -v '3.3.1.0'` succeeds before
bundling.

You have a common SSL issue.
You will see this error message:
certificate verify failed
The error message is because your system needs a new SSL certificate.
Here's information about it:
http://railsapps.github.io/openssl-certificate-verify-failed.html
On Windows:
Try upgrading your SSL certificates.
Download http://curl.haxx.se/ca/cacert.pem.
Save this file anywhere you want, such as:
C:\RailsInstaller\cacert.pem
On the command line, tell Ruby where to find the cert file, such as:
set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem
Retry the gem installation.
If it works, that's great. If you want this to work with every project on your system, and also survive rebooting, then you can make the cert file permanent by adding the cert system-wide. To do this, use your Windows control panel.
Credit and more info: https://gist.github.com/fnichol/867550

Related

Unable to download from rubygems.org

I just installed ruby version 2.3.0p0 using the ruby installer for windows and was trying to install bundler. When I run gem install bundler I get the following error:
Could not find a valid gem 'bundler' (>=0), here is why
Unable to download data from (link removed) rubygems -Errno:ETIMEDOUT:
Failed to open TCP connection to api.rubygems.org:443 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. -connect(2) for "api.rubygems.org" port 443)(https://api.rubygems.org/specs.4.8.gz)
Some research led me to try running gem install --http-proxy http://[user]:[password]#[server]:[port] which i think might work because I am behind a proxy here and a similiar solution helped me clone a git repository earlier.
But when i tried this command I got the following error:
ERROR: While executing gem ... (Gem:CommandLineError)
Please Specify at least one gem name (e.g. gem build GEMNAME)
UPDATE
So I tried that gem install --http-proxy.... command again with the gem name at the end and I am back to getting the original TCP connection error above. I am pretty sure the login information I entered is correct. I also added --source http://... instead of the https one but still am having the same problem?
1st off your error is pretty telling-
ERROR: While executing gem ... (Gem:CommandLineError) Please Specify
at least one gem name (e.g. gem build GEMNAME)
2nd make sure you have met the requirements for what you're trying to do http://bundler.io/
then run the code..
gem install bundler
bundle init
echo 'gem "rspec"' >> Gemfile
bundle install
bundle exec rspec
In 2023, the best way to install bundler on an old version of Ruby is:
gem update --system
RubyGems and Bundler now ship together, so to get the latest bundler, you should just install the latest RubyGems.
would you try disable ipv6, it had been worked for me

Gemfile issues and Ruby install issues

I am working on a Windows 7 64-bit machine. I had Ruby version 2.1.5 installed on my machine and everything was working great. I went and installed a gem that would set up a project for you with most of the basics already completed, but it required Ruby 2.2.2. I went and researched how to upgrade my Ruby version and the best solution I found was to install the Pik gem for windows and install 2.2.2 separately, and switch between the two versions.
I followed a tutorial on YouTube for how to set up Pik. I normally use Git Bash but the tutorial required me to use the cmd.exe prompt to set up Pik, and then it included a way to use Pik with Git Bash at the end of the tutorial. I also had to add a file to my PATH in the system settings.
I was able to set up Pik and everything worked great with Pik on both the cmd.exe and Git Bash consoles. However, from there if I went to run any other commands such as bundle install, I would get an error:
Could not locate gemfile.
I have also experienced the same error, but it would say something along the lines of an issue with the .bundle/directory. I tried switching to a project that I had already created in the past and tried running the command again. It still had the same error. (I did this to see if the gemfile in the project would fix anything.) If I try running gem install rails, I have had it work once or twice - but I still have the 'no gemfile' issue after the fact.
The times the command doesn't work I often get:
ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed
(https://api.rubygems.org/latest_specs.4.8.gz).
I tried running the pik gem and pik gemsync commands to see if that would fix my issues but it did not.
I tried uninstalling Pik by doing the pik implode command and deleting the files it created. The issue still persisted. I tried uninstalling the 2.2.2 version of Ruby using the uninstall executable in the file, and deleting any left over file(s). The issue still persisted. I tried to uninstall and reinstall Ruby completely from my machine, the 2.1.5 version that is doing the same method as the 2.2.2 version. Yet the issue still persists no matter what I do. I have tried many times uninstalling and reinstalling both Ruby versions, from the executable and from the control panel. I would like to find a way to completely uninstall and reinstall all of Ruby if possible, preferably reinstall Ruby 2.2.2. Or if anyone else has any other ideas for how to fix this issue?
from there if I went to run any other commands such as bundle install I would get an error Could not locate Gemfile.
As you've guessed, you need a file named gemfile in the same location you are running bundle install from
If I try running gem install rails I have had it work once or twice but I still have the no gemfile issue after the fact.
Running gem install <package> doesn't create a gemfile for you. You need to do this yourself. It's essentially a file where you manually specify which packages you would like your project to use. See here on how to create.
The times the command doesn't work I often get: "ERROR: Could not find a valid gem 'rails' (>= 0), here is why: Unable to download data from https://rubygems.org/ - SSL_connect retur ned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed ( https://api.rubygems.org/latest_specs.4.8.gz)."
This sometimes happens on Windows machine. You can do a quick search on how to fix the gem command with SSL, or in your Gemfile you can temporarily specify http://rubygems.org/ instead of https://rubygems.org/

SSL certs errors with Gem install

I have setup a gem repo with https. We have internal singed certificates for which i have the singer/trust certificates.
But where to install those pem files i am not sure, hence getting the ssl error when trying to do a gem install
We are using CHEF, hence using the ruby installed as part of chef client install.
Have searched through the net the only aswer people have is a workaround, which is to change from https to http, but i want the gem repo to be setup with HTTPS (port 443)
Below is the error i get
[root#opslx0005 ~]# /opt/chef/embedded/bin/gem install lvm
ERROR: Could not find a valid gem 'lvm' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://myself.mydomain.com/artifactory/simple/infra-automation/gem-repo/latest_specs.4.8.gz)
Tried with Ruby remote_fetcher to test
/opt/chef/embedded/bin/ruby -rrubygems/remote_fetcher -e 'p Gem::RemoteFetcher.new.fetch_http(URI.parse("https://myself.mydomain.com/artifactory/simple/infra-automation/gem-repo/latest_specs.4.8.gz")).bytesize'
UPDATE :
Found this online and this is my default pem file, updated the certs here but the error is still not going
/opt/chef/embedded/bin/ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'
/opt/chef/embedded/ssl/cert.pem
Easiest solution is probably to just set the SSL_CERT_FILE environment variable to the CA certificate file. This should be picked up by Ruby's OpenSSL layer automatically.
From here: SSL Error During Gem Installation (on MinGW64-MSys2)
Try downloading the http://curl.haxx.se/ca/cacert.pem certificate. Then, point a special environment variable to it like that: export SSL_CERT_FILE=~/cacert.pem After that, issue an update command: gem update --system The problem should be solved after that. Relaunch the console and continue your work.
I had the same problem, thought it was corporate proxy but I just need to update rubygems.
You might want to download the latest version from https://github.com/rubygems/rubygems/releases/
copy it to ruby gems folder
and then on cmd
C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc
Hope that helps!

Error installing rspec (gem install rspec) on Windows

I am using Windows 7 and trying to install rspec, but I get the following error when I type gem install rspec into the terminal.
ERROR: Could not find a valid gem 'rspec' <>=0>, here is why:
Unable to download data from https://rubygems.org/ - SSL_connect SYSCA
LL returned=5 errno=0 state=SSLv2/v3 read server hello A <https://rubygems.org/l
atest_rspecs.4.8.gz>
ERROR: Possible alternatives: rspec
I've looked all over the internet for a solution, but I haven't managed to find anything.
The "SSL" part of the error message sounds similar to this issue with the certificates you have locally and the certificate that rubygems.org is using. There are specific instructions for Windows that show you how to download an updated certificate file and use it; it might be worth a shot.

Why can I not install gems?

As of today I cannot install any gems. AFAIK nothing has changed.
On install I get the following:
$ ~/ gem install sinatra
WARNING: Error fetching data: hostname does not match the server certificate (https://gemcutter.org/latest_specs.4.8.gz)
WARNING: Error fetching data: hostname does not match the server certificate (https://gemcutter.org/latest_specs.4.8.gz)
ERROR: Could not find a valid gem 'sinatra' (>= 0) in any repository
ERROR: Possible alternatives: sinatra
Any ideas? (This is on a Mac)
I'm not entirely sure as to why but by editing my ~/.gemrc and removing all sources bar rubygems.org, the problem went away.

Resources