“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 错误的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 EI如何增加端点超时?

我在哪里可以在WSO2 EI中设置字符编码

CF1097D Makoto and a Blackboard

Mac升级OS X EI Capiton之后,运行pod后显示:"pod: command not found"的错误

EI投稿指南

EI检索投稿基本步骤