android - fs-extra:源和目标不能相同。 ( Cordova )

标签 android node.js cordova ionic-framework fs-extra

我在使用 cordova 构建时遇到错误。

Error: Source and destination must not be the same.

构建系统:

Ionic:
  ionic (cli):        4.10.1
  ionic framework:    ionic-angular 3.9.2
  @ionic/app-scripts: 3.1.11

Cordova:
  cordova (cli):      8.1.2 (cordova-lib@8.1.1)
  platforms:          "cordova-android": "8.0.0"

System:
  Android SDK Tools:  26.1.1
  NodeJS:             10.15.3
  npm:                6.4.1
  OS:                 Windows 10

命令:

ionic cordova build android

cordova build --release

错误详细信息:

Error: Source and destination must not be the same.
    at checkPaths (C:\Jenkins\workspace\%PROJECTNAME%\node_modules\fs-extra\lib\copy-sync\copy-sync.js:185:11)
    at Object.copySync (C:\Jenkins\workspace\%PROJECTNAME%\node_modules\fs-extra\lib\copy-sync\copy-sync.js:25:20)
    at updatePathWithStats (C:\Jenkins\workspace\%PROJECTNAME%\node_modules\cordova-common\src\FileUpdater.js:103:24)
    at C:\Jenkins\workspace\%PROJECTNAME%\node_modules\cordova-common\src\FileUpdater.js:298:19
    at Array.forEach (<anonymous>)
    at Object.mergeAndUpdateDir (C:\Jenkins\workspace\%PROJECTNAME%\node_modules\cordova-common\src\FileUpdater.js:296:33)
    at updateWww (C:\Jenkins\workspace\%PROJECTNAME%\platforms\android\cordova\lib\prepare.js:157:17)
    at Api.module.exports.prepare (C:\Jenkins\workspace\%PROJECTNAME%\platforms\android\cordova\lib\prepare.js:56:19)
    at Api.prepare (C:\Jenkins\workspace\%PROJECTNAME%\platforms\android\cordova\Api.js:177:45)
    at C:\Jenkins\workspace\%PROJECTNAME%\node_modules\cordova\node_modules\cordova-lib\src\cordova\prepare.js:105:36

有人遇到同样的错误或知道出了什么问题吗?

其他信息: 我总是将 git 存储库 checkout 到一个空文件夹。这意味着:每个构建都是很难清理的。没有node_modules也没有平台等(rm平台等没用)

最佳答案

我不知道这是否是正确的答案,但这可能是 cordova build.json 中的错误设置(如果有的话)。

由于您使用的是 Jenkins,因此可能存在一些错误的设置,例如缺少依赖项或类似的东西。

您还可以尝试删除该平台并重新添加以获得最新版本和兼容性。

cordova platform remove android
cordova platform add android@8.0.0

您可以检查是否有过时的 fs-extra(尽管我不认为这是问题所在)并更新 Ionic。

您可以尝试恢复您的node_modules。

我希望这些步骤之一有所帮助。

关于android - fs-extra:源和目标不能相同。 ( Cordova ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55127362/

相关文章:

android - 将 httpcore 和 httpmime 库添加到 Android 项目中会在运行应用程序时出错

android - 如何使用xml在底部导航 View 上方设置 fragment ?

javascript - 如何将相机图像作为附件传递给邮件。 (Android、iOS、Windows Phone、Phonegap)

iphone - 将 PhoneGap 应用程序部署到 Web 而不是 App Store

javascript - 动态创建具有不同事件调用的按钮

android - SQLite 无法在频繁的 "SELECT"查询中打开数据库文件(代码 14)

android - 如何在android中创建自定义形状的按钮

node.js - 使用 mongo 和 mongoClient 从同一查询获取不同的投影结果

node.js - 控制台窗口不再出现在我的 Visual Studio Node 控制台应用程序中

Node.js + Express : rewrite url path