Ошибка Cordova из-за 8.0. Аргумент «путь» должен иметь тип string. Полученный тип не определен - PullRequest
1 голос
/ 08 апреля 2019

При установке плагина возникает следующая ошибка:

Installing "cordova-plugin-canvas" for android
Error during processing of action! Attempting to revert...
Failed to install 'cordova-plugin-canvas': TypeError [ERR_INVALID_ARG_TYPE]: Uh oh!
The "path" argument must be of type string. Received type undefined
    at assertPath (path.js:39:11)
    at Object.join (path.js:1155:7)
    at install (Users/xx/yy/zz/platforms/android/cordova/lib/pluginHandlers.js:61:29)
    at ActionStack.process (/Users/xx/yy/zz/node_modules/cordova-common/src/ActionStack.js:56:25)
    at PluginManager.doOperation (/Users/xx/yy/zz/node_modules/cordova-common/src/PluginManager.js:114:20)
    at PluginManager.addPlugin (/Users/xx/yy/zz/node_modules/cordova-common/src/PluginManager.js:144:17)
    at /Users/xx/yy/zz/platforms/android/cordova/Api.js:212:74
    at _fulfilled (/Users/xx/yy/zz/node_modules/q/q.js:854:54)
    at /Users/xx/yy/zz/node_modules/q/q.js:883:30
    at Promise.promise.promiseDispatch (/Users/xx/yy/zz/node_modules/q/q.js:816:13)
Uh oh!
The "path" argument must be of type string. Received type undefined

cordova --version 8.1.2 (cordova-lib@8.1.1)

Похоже, в pluginHandlers.js line18 модуль импорта

var path = require('path');

Но при line 61

'resource-file': {
        install: function (obj, plugin, project, options) {
            var dest = path.join('app', 'src', 'main', obj.target);

обрабатывает его как строку.Как я могу решить эту проблему?

Любые теги файла ресурсов, как показано ниже в plugin.xml, препятствуют установке плагина.

<resource-file src="src/android/app/src/main/assets/FAsolid.ttf" target-dir="assets/FAsolid.ttf"/>

1 Ответ

1 голос
/ 03 июля 2019

у меня были схожие проблемы и оказалось, что я должен заменить

<resource-file src="..." target-dir="assets/..."/>

до

<source-file src="..." target-dir="..."/>
...