在 Windows 10 Ubuntu Bash 下提供 Phonegap 时出现 EPERM 错误

EPERM error when serving Phonegap under Windows 10 Ubuntu Bash

我正在关注 PhoneGap 的 Get Started guide

我已经通过 yarn global add phonegap 安装了 Phonegap CLI。

然后我使用 phonegap create 创建了一个新项目。

现在我正在尝试 运行 它 phonegap serve 但我立即收到错误消息。

[phonegap] starting app server...
/usr/local/share/.config/yarn/global/node_modules/q/q.js:126
                    throw e;
                    ^

Error: watch /mnt/d/Dev/phonegap-test/www/css/ EPERM
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1306:19)
    at Object.fs.watch (fs.js:1331:11)
    at Gaze._watchDir (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/gaze.js:304:30)
    at /usr/local/share/.config/yarn/global/node_modules/gaze/lib/gaze.js:377:10
    at iterate (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/helper.js:69:5)
    at Object.forEachSeries (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/helper.js:83:3)
    at Gaze._initWatched (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/gaze.js:373:10)
    at Gaze.add (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/gaze.js:192:8)
    at new Gaze (/usr/local/share/.config/yarn/global/node_modules/gaze/lib/gaze.js:74:10)

我正在使用 Ubuntu Bash Windows 10. 为什么它不起作用?

Phonegap 正在尝试"watch" 文件夹进行更改。

截至 2017 年 2 月,Windows 10 build 14393 Ubuntu Bash for Windows 不支持 inotify 事件。

如果没有解决方法,这根本行不通。

好消息是这个问题正在修复中。从 Windows 10 build 14962 开始,changelog 为:

  • Inotify support for files modified through WSL. (GH #216)

此 Windows 版本尚未公开。

作为目前的解决方法,您可以使用 Phonegap application for Windows Desktop.