错误:ENOTEMPTY,Meteorjs中的目录不为空

时间:2014-05-31 05:20:31

标签: meteor meteorite

Error: ENOTEMPTY, directory not empty '/path/disk/folder/.meteor/local/build-garbage-     qb4wp0/programs/ctl/packages'

我已经查看过这个问题的网站,并知道这个错误可能是什么原因,并尝试过。我也尝试了他们的解决方案,我可以设法始终重置项目。

问题是,无论何时重置项目,在项目的第一次运行时,它都会顺利运行并且不会发生错误但是在一段时间之后或者我的项目发生了更改,例如错误检查,添加包或更改某些内容。 ..那个错误会发生。

我不知道如何解决这个问题,我的临时解决方案是始终创建另一个流星项目并放置我的所有项目文件,并安装我使用的所有包。

非常需要帮助。

2 个答案:

答案 0 :(得分:3)

在Vagrant机器上运行Meteor.js时出现此错误。对于其他背景,我已经为MongoDB的db文件夹创建了一个符号链接,因为我遇到了锁定问题(solution I used for that was described elsewhere)。

之后,我的设置如下:

  

/vagrant/.meteor/local/db - > / home / vagrant / my_project_db(符号链接)

这解决了MongoDB锁的问题,但是每当任何源文件发生变化时,流星都会因你遇到的异常而崩溃。删除文件没有帮助,流星重置也没有。

幸运的是,通过将文件夹结构更改为:

来解决问题
  

/vagrant/.meteor/local - > / home / vagrant / my_project_local(符号链接)

我所做的就像从共享文件夹中移出Meteor.js的本地文件夹一样简单,只引用带有符号链接的文件夹:

cd /vagrant/.meteor
mv local /home/vagrant/my_project_local
ln -s /home/vagrant/my_project_local local

最终一切都很好。错误早已消失,反馈周期也短得多。

答案 1 :(得分:0)

尝试删除它告诉您的问题的文件夹。我认为它试图清理它们但是有一种未处理的情况(它有文件并使用rm而不是递归)

删除

/media/Meteor/hash/.meteor/local/build-garbage-**

(名称中包含build-garbade的任何内容)。此外,您可能想要检查您的权限是否正确,这可能是由于最初与错误设置的权限有关而导致的,您可能只运行sudo一次?如果您使用的是Mac,则可以使用修复磁盘权限。