2017-09-15 15 views
0

Je suis nouveau sur les rails, alors s'il vous plaît ne hésitez pas à suggérer tout ce qui pourrait aiderrake db: erreur de migration. Demande pour tzinfo-1.2.1

Gemfile est la suivante

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 
gem 'rails', '~> 5.1.4' 
gem 'mysql2', '0.4.9' 
gem 'puma', '~> 3.7' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'bootstrap-sass' 
gem 'devise' 
gem 'coffee-rails', '~> 4.2' 
gem 'turbolinks', '~> 5' 
gem 'jbuilder', '~> 2.5' 
gem 'bcrypt', '~> 3.1.7' 
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] 
gem 'tzinfo',  '1.2.1' 


group :development, :test do 
    gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 
end 

group :development do 
    gem 'web-console', '>= 3.3.0' 
    gem 'listen', '>= 3.0.5', '< 3.2' 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
end 

Quand je lance sudo rake db:migrate sur le terminal [pour certains raison, je dois chaque fois que le temps sudo je lance la commande de coupe], je reçois

Could not find tzinfo-1.2.1 in any of the sources Run bundle install to install missing gems.

J'ai essayé d'enlever le Gemfile.lock et en cours d'exécution à nouveau paquet d'installation, mais il n'a pas aidé. Je ai googlé autour et n'a trouvé aucune aide.

Quand je courais bundle info tzinfo, il m'a donné un endroit

* tzinfo (1.2.1) 
    Summary: Daylight savings aware timezone library 
    Homepage: http://tzinfo.github.io 
    Path: /home/t430/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/tzinfo-1.2.1 

J'ai essayé toutes les choses proposées que sur this question mais il n'a pas aidé

Ubuntu 16.04

+0

Avez-vous vraiment besoin de 'sudo rake'? Avez-vous essayé sans sudo? – lcguida

+0

Vous avez un environnement différent lorsque vous utilisez sudo, votre gempath peut être différent ou non configuré. Vous ne devriez pas avoir à utiliser sudo pour que rake fonctionne, quelle erreur obtenez-vous de 'rake db: migrate' sans sudo? –

+0

@JacobVanus Je reçois ceci quand j'essaye sans sudo rake avorté! Mysql2 :: Erreur: Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NO) Tâches: TOP => db: migrer (Voir la trace complète en exécutant la tâche avec --trace) – nonejk

Répondre

2

Ne pas utilisez sudo ...

Vérifiez les paramètres config/database.yml. C'est comme ça que vous avez accès à MySQL. Assurez-vous que l'information est correcte. par exemple ....

development: 
    adapter: mysql2 
    encoding: utf8 
    database: my_db_name 
    username: root 
    password: my_password 
    host: 127.0.0.1 
    port: 3306 

Source: https://stackoverflow.com/a/5872284

+0

Lorsque j'exécute rake db: migrate je reçois rake annulé! Mysql2 :: Erreur: Accès refusé pour l'utilisateur 'root' @ 'localhost' (utilisant le mot de passe: YES) Tâches: TOP => db: migrer – nonejk

+0

Je viens de construire une application de test avec les spécifications ci-dessus en changeant les mots de passe et les noms d'utilisateur. Je l'ai créé avec succès. J'ai pu générer votre message d'erreur en utilisant le mauvais mot de passe. Assurez-vous d'avoir le bon mot de passe. Essayez d'accéder à MySQL depuis la ligne de commande en utilisant mysql -u root -p et entrez le mot de passe. Si vous ne pouvez pas accéder de cette façon, vous avez un mot de passe incorrect ou le mot de passe n'est pas défini. –