【问题标题】:file watch, no such file or directory for emacs autosave file文件监视,没有这样的文件或 emacs 自动保存文件的目录
【发布时间】:2014-07-31 15:32:18
【问题描述】:

gulp 监视文件以进行 livereload,

gulp.watch([
    '/templates/**/*.hbs'
], ['build-dev-templates']);

但是当我在 emacs 上编辑时,它会创建自动保存文件,如 .#index.hbsGaze 会出现此错误:

Error: ENOENT, no such file or directory 'app/client/templates/.#index.hbs'

我该如何摆脱它?

【问题讨论】:

    标签: node.js file emacs gulp livereload


    【解决方案1】:

    您也可以尝试使用此模式排除观察者的备份文件:

    gulp.watch([
      '/templates/**/*.hbs',
      '!/templates/**/.#*'
    ], ['build-dev-templates']);
    

    【讨论】:

      【解决方案2】:

      一种选择是将您的备份文件移动到其他地方。我用这个sn -p from What the .emacs.d!?把所有备份文件放到~/.emacs.d/backups

      (setq backup-directory-alist
            `(("." . ,(expand-file-name
                       (concat user-emacs-directory "backups")))))
      

      您应该能够对moving auto-save files 使用类似的技术。像这样的东西应该可以工作:

      (setq auto-save-file-name-transforms
                `((".*" ,(expand-file-name
                          (concat user-emacs-directory "auto-save")) t)))
      

      【讨论】:

      • 再想一想 # 文件不是备份文件,它们是自动保存文件我该如何摆脱它们?
      • @facebook,我相信您可以使用与auto-save-file-name-transforms 相同的技术。请查看我的更新答案。
      • 最后也没有用,问题是 emacs 创建了指向锁定文件的符号链接,(setq create-lockfiles nil) 修复,不知道有没有替代方法。
      • @facebook,在这种情况下,Aperçu's answer 可能更好。它应该让 gulpjs 忽略锁定文件,即使它们存在。你可能想不接受我的回答并接受那个。
      • 我认为应该修复emacs而不是gulp。所以这个答案很酷。
      【解决方案3】:

      对我来说,唯一有效的方法是禁用 .# 文件创建

      (setq create-lockfiles nil)
      

      此功能已在 Emacs 24.3 中添加。

      【讨论】:

        猜你喜欢
        • 2013-07-03
        • 2014-11-18
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-06
        • 2021-06-24
        • 2022-01-03
        相关资源
        最近更新 更多