2017-09-15 127 views
0

我新的轨道,所以请随时提出任何可能帮助rake db:迁移错误。询问tzinfo-1.2.1

的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 
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 

当我在终端上运行sudo rake db:migrate [对于一些因此,我需要须藤每次我运行rake命令的时间],我得到

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

我曾试图消除Gemfile.lock的运行捆绑重新安装,但它并没有帮助。我搜索了一下,发现没有帮助。

当我跑bundle info tzinfo,它没有给我一个位置

* 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 

我尝试了所有的建议的事情作为this question,但它并没有帮助

的Ubuntu 16.04

+0

你真的需要'须藤rake'?你有没有尝试sudo? – lcguida

+0

使用sudo时你有不同的环境,你的gempath可能会有所不同或未设置。你不应该使用sudo来进行rake工作,你从'rake db:migrate'没有sudo会得到什么错误? –

+0

@JacobVanus当我尝试没有sudo时,我得到这个 rake中止! Mysql2 ::错误:拒绝访问用户'root'@'localhost'(使用密码:否) 任务:TOP => db:migrate (使用--trace查看完整跟踪) – nonejk

回答

2

不要使用sudo ...

检查你的config/database.yml设置。这就是你如何访问MySQL。确保信息是正确的。例如....

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

来源:https://stackoverflow.com/a/5872284

+0

当我执行rake db:migrate时,我得到 rake中止! Mysql2 ::错误:拒绝访问用户'root'@'localhost'(使用密码:YES) 任务:TOP => db:migrate – nonejk

+0

我刚建立了一个测试应用程序,上面的规格改变了密码和用户名。我成功创建了它。我能够通过使用错误的密码生成错误消息。确保你有正确的密码。尝试使用mysql -u root -p从命令行访问MySQL并输入密码。如果您无法以此方式访问,那么您输入的密码错误或未设置密码。 –