Cordova after_prepare hook在Android中成功但在iOS中失败

时间:2014-11-26 11:40:46

标签: android ios node.js cordova build

我为Cordova构建编写了一个after_prepare挂钩,它从最终版本中删除了node_modules文件夹:

#!/usr/bin/env node

/**
 * The node modules we want to remove from the build prior to building
 * @type {Array}
 */
var foldersToRemove = ["platforms/android/assets/www/node_modules", "platforms/ios/www/node_modules"];

var fse = require('fs-extra');
var path = require('path');
var rootdir = process.argv[2];

foldersToRemove.forEach(function(folder) {

    var rmFolder = path.join(rootdir, folder);

    fse.remove(rmFolder, function(err) {
        if (err) {
            return console.error(err);
        } else {
            console.log(rootdir);
            console.log("fse folder removed success!")
        }
    });

});

当我在CLI中运行cordova prepare android -d但在切换到iOS时失败并出现以下错误,这对我有用:

env:node \ r \ n:没有这样的文件或目录 挂钩失败,错误代码为127:

我尝试过只引用ios平台文件夹,它会发出相同的错误消息。

3 个答案:

答案 0 :(得分:2)

您需要使用NotePad ++等文本编辑器

在NotePad ++上,您将按照以下步骤操作:

  • 打开提供问题的文件
  • 转到'查找'选项并选择'替换'标签
  • 你应该找到这个字符串:' \ r \ n'
  • 将其替换为\ n
  • 确保'环绕'选项已被选中。
  • 在搜索模式中,选择'扩展',然后继续并替换 所有

  • 保存文件并再次执行iOS版本

答案 1 :(得分:0)

在OSX的终端上试试这个:

tr -d '\r' < FILE_NAME > FILE_NAME

答案 2 :(得分:0)

尝试在OSX下构建Ionic或Cordova应用程序时可能会导致此错误,这很可能是由于相关文件中的行结束格式造成的。 Try this