Cha*_* Mx 4 ruby sqlite rubygems ruby-on-rails railstutorial.org
我正在关注Michael Hartl的Rails教程,并且在某些时候我们要运行
rails db:migrate:reset
但是每次我都尝试这样做时,我面临着关于文件的权限被拒绝错误
development.sqlite3
我尝试过以下解决方案:
1. close all programs suspected of using said file and retry task
2. terminate rails console, server, editor and retry task
3. shut/restart pc and executing the task upon restart
4. executing rails db:drop
所有这些都无法允许命令运行.唯一可行的解决方案是手动删除文件并运行rails db:migrate
我在跑步
Rails 5.0.0.1
Ruby 2.2.5p319
Sqlite3 3.14.1
Windows 10 Professional
我的堆栈跟踪是:
**调用db:migrate:reset(first_time)
**调用db:drop(first_time)
**调用db:load_config(first_time)
**执行db:load_config
**调用db:check_protected_environments(first_time )
**调用环境(first_time )
**执行环境
**调用db:load_config
**执行db:check_protected_environments**执行db:
drop
**调用db:drop:_unsafe(first_time)
**调用db:load_config
**执行db:drop:_unsafe
权限被拒绝@ unlink_internal - %path%/ sample_app/db/development.sqlite3无法删除数据库'db/development.sqlite3'rails
aborted!
Errno :: EACCES:权限被拒绝@ unlink_internal - %path%/ sample_app/db/development.sqlite3
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:1450:在remove_file 中的块' C:/ Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:1458:在remove_file中: C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:793:在rm 中的块中 :C:/ Ruby22-X64/LIB /红宝石/ 2.2.0/fileutils.rb:570:在RM" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/任务/ sqlite_database_tasks.rb:22:在降" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:152:在块in each_current_configuration'C :/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:291:in each_current_configuration'C :/ Ruby22-x64/LIB /红宝石/宝石/ 2.2.0 /宝石/了activerecord-5.0.0.1/LIB/active_record /任务/ database_tasks.rb:151:在在'块(2级) C:/ Ruby22-X64/LIB /红宝石/宝石执行' C:/ Ruby22-x64/lib/ruby/gems /中的/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:248:in 块 2.2.0/gems/rake-11.2.2/lib/rake/task.rb:243:执行' C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/ lib/rake/task.rb:187:在mon_synchronize'C :/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:180:在调用中' C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:38:在呼叫' C:/ Ruby22-X64/LIB /红宝石/宝石/ 2.2.0 /宝石/耙11.2.2/LIB /耙/ task.rb:248:在每个" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake- 11.2.2/lib/rake/task.rb:243:在invoke_with_call_chain 中的块' C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:在invoke_with_call_chain'C :/ Ruby22-x64/LIB /红宝石/宝石/ 2.2.0 /宝石/耙11.2.2/LIB /耙/ task.rb:209:在每个" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ rake-11.2.2/lib/rake/task.rb:207:在invoke_with_call_chain 中的块' C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:在invoke_with_call_chain'C :/ Ruby22- x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:173:in invoke_task'C :/Ruby22-x64/lib/ruby/gems/2.2.0/宝石/耙11.2.2/LIB /耙/ application.rb中:108:在每个" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/application.rb:108:在run_with_threads'C :/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/application.rb:102:在run_rake_task 中的块' C:/ Ruby22-x64/LIB /红宝石/宝石/ 2.2.0 /宝石/耙11.2.2/LIB /耙/ application.rb中:178:在run_rake_task" C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:51:在' bin/rails:4:in ' 任务:TOP => db:drop:_unsafeunlink'
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:1450:inplatform_support'
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:1449:inremove_file'
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:571:ineach'
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:570:indrop'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:136:inblock in drop_current'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:292:ineach'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:291:indrop_current'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:42:incall'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:248:ineach'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:243:inblock in invoke_with_call_chain'
C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:ininvoke_with_call_chain'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:173:inblock (2 levels) in <top (required)>'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:248:inblock in execute'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:243:inexecute'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:187:inmon_synchronize'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:180:inblock in invoke_prerequisites'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:207:ininvoke_prerequisites'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:186:inmon_synchronize'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/task.rb:180:ininvoke'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/application.rb:152:inblock (2 levels) in top_level'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock in top_level'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rake-11.2.2/lib/rake/application.rb:117:intop_level'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-5.0.0.1/lib/rails/commands/rake_proxy.rb:13:instandard_exception_handling'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-5.0.0.1/lib/rails/commands/rake_proxy.rb:10:inrun_command!'
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:inrequire'
bin/rails:4:in
如何删除此错误并阻止它用于将来的项目?
我使用Windows 10 Pro获得相同的错误 红宝石2.4.1 | Rails 5.1.4.我使用了:
rake db:drop:_unsafe
rake db:create
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3858 次 |
| 最近记录: |