【问题标题】:Error: ENOTEMPTY, directory not empty in Meteorjs错误:ENOTEMPTY,Meteorjs 中的目录不为空
【发布时间】:2014-07-20 22:13:50
【问题描述】:
Error: ENOTEMPTY, directory not empty '/path/disk/folder/.meteor/local/build-garbage-     qb4wp0/programs/ctl/packages'

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

问题是,每当项目被重置时,在项目的第一次运行时,它会顺利运行并且不会发生错误,但经过一段时间或对我的项目进行更改,例如错误检查、添加包或更改某些内容。 ..会发生那个错误。

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

急需帮助。

【问题讨论】:

  • 也许meteor reset 会是一个更简单的解决方法。
  • 重置不能直接工作。它说流星还在运行,所以我必须去终端直接杀死它,杀死进程后,它显示另一个错误,做流星重置。所以我正在做的最后一个解决方法是直接删除 .meteor/local/build 和 .meteor/local/db 的内容。重置项目后,项目将顺利运行,除非我对文档进行更改或添加包或项目出错。
  • Error: ENOTEMPTY, directory not empty '/media/Meteor/hash/.meteor/local/build-garbage-191qm6k/programs/server/packages' 这就是我在杀死流星进程并进行流星重置后得到的。

标签: meteor meteorite


【解决方案1】:

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

删除

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

(名称中带有 build-garbade 的任何内容)。此外,您可能想检查您的权限是否正确,这可能是最初与错误设置权限有关,也许您曾经以sudo 运行?如果您使用的是 Mac,则可以使用修复磁盘权限。

【讨论】:

  • 也删除了它们,同样的事情发生了。权限不是问题。
  • @o2kevin 值得一提的是,这与您的流星安装有关,因为从上面的路径来看,它位于流星安装目录中,而不是您的应用程序目录中。
【解决方案2】:

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

接下来,我的设置如下:

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

这解决了我在使用 MongoDB 的锁时遇到的问题,但是每次更改任何源文件时,meteor 都会崩溃,并出现与您遇到的相同的异常。删除文件没有帮助,流星重置也没有帮助。

幸运的是,它通过将文件夹结构更改为以下内容得到了补救:

/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

最后一切都很好。错误早已消失,反馈周期更短。

【讨论】:

  • 非常感谢您提供的最后一个食谱!我也在做同样的事情,但在 Docker 容器中。它有效!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-24
  • 2020-07-21
  • 2021-12-27
  • 2018-03-20
  • 1970-01-01
相关资源
最近更新 更多