Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Errno::EACCES:运行rake test:models时,权限被拒绝@unlink_internal_Ruby On Rails_Rake - Fatal编程技术网

Ruby on rails Errno::EACCES:运行rake test:models时,权限被拒绝@unlink_internal

Ruby on rails Errno::EACCES:运行rake test:models时,权限被拒绝@unlink_internal,ruby-on-rails,rake,Ruby On Rails,Rake,我在玩rails 4。我刚刚为我的模型创建了非常简单的测试,但当我尝试执行“rake测试:模型”时,我得到了以下错误: C:\rails\project>rake test:models DL is deprecated, please use Fiddle rake aborted! Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3 C:/rails/project/test/test_hel

我在玩rails 4。我刚刚为我的模型创建了非常简单的测试,但当我尝试执行“rake测试:模型”时,我得到了以下错误:

C:\rails\project>rake test:models
DL is deprecated, please use Fiddle
rake aborted!
Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3
C:/rails/project/test/test_helper.rb:3:in `<top (required)>'
C:/rails/project/test/models/admin_test.rb:1:in `<top (required)>'
Tasks: TOP => test:models
(See full trace by running task with --trace)
“/tmp/db”是我可以完全访问个人笔记本电脑的目录


你知道这个问题的根源是什么吗?

我的
测试.sqlite3
表也有同样的问题,对我有效的方法是复制我的
开发.sqlite3
表并重命名它
测试.sqlite3
。我希望这对您有用。

我能够绕过此错误的一种方法是使用

rake db:migrate rails_env=test
这在my test.sqlite3上生成了必要的迁移


我相信rails_env的默认设置是“dev”,但这可能会有所不同。我对rails还是很陌生,但我希望这会有所帮助。

这对我来说也很有用——进行重构,然后使用文件资源管理器进行验证。这是正确的方法。迁移必须在希望使用它的特定环境中完成。可能默认值是development而不是dev,无论如何,在执行rails db:reset时,我也不走运。我得到了权限拒绝错误。
rake db:migrate rails_env=test