“Cordova crypt 文件插件”出现 EISDIR 错误
Posted
技术标签:
【中文标题】“Cordova crypt 文件插件”出现 EISDIR 错误【英文标题】:EISDIR error with "Cordova crypt file plugin" 【发布时间】:2018-06-13 09:52:31 【问题描述】:我有一个使用 ionic V1 构建的 ionic 应用程序。直到最近一切正常。现在,每当我尝试构建它时,都会弹出这个 EISDIR 错误。经过大量调试,我发现 cordova-plugin-crypt-file 导致了这个问题。因为当我禁用它时,项目成功构建。
我正在使用Cordova crypt file plugin 来加密我的源代码。我花了很多时间试图修复它,但遗憾的是我什么也做不了。
我也知道 EISDIR 错误是由于来自NPM stuck giving the same error EISDIR: Illegal operation on a directory, read at error (native) 的目录问题(“错误,是目录”)引起的。但是我在我的项目中找不到任何目录问题。
另外,我在 github https://github.com/tkyaji/cordova-plugin-crypt-file/issues/39 上看到了这个问题。正如我评论有问题的行时问题中所建议的那样。一切正常,项目构建。
我不确定如何调试它。任何帮助,将不胜感激。由于客户建议使用此插件,我一直在积极寻找解决此问题的方法。但还没有找到任何解决方案。
提前致谢。
【问题讨论】:
【参考方案1】:我自己设法解决了这个错误。
插件在成功完成文件加密时会提供控制台日志。
我无法找出它现在正在加密的文件(导致错误)。当我查看插件文件时,它有一个名为“after_prepare.js”的挂钩文件,该控制台记录了它已成功加密的文件。然后,我在文件加密过程开始之前添加了一个控制台日志,并且我能够追踪导致问题的文件。
).forEach(function(file)
console.log('file', file); // console log I added
var content = fs.readFileSync(file, 'utf-8');
fs.writeFileSync(file, encryptData(content, key, iv), 'utf-8');
console.log('encrypt: ' + file);
);
似乎是目录名称问题。我安装了 Chart.js,其中一个文件夹被命名为 chart.js,这导致了问题。
【讨论】:
以上是关于“Cordova crypt 文件插件”出现 EISDIR 错误的主要内容,如果未能解决你的问题,请参考以下文章
CF1097D Makoto and a Blackboard