由于 8.0 导致的科尔多瓦错误 "path"参数的类型必须是字符串。未定义的接收类型



安装插件时出现以下错误。

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

科尔多瓦 --版本 8.1.2 (科尔多瓦-lib@8.1.1(

似乎在plugin处理程序.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);

将其视为字符串。如何解决此问题?

插件中的任何资源文件标签.xml都会阻止插件安装。

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

我遇到了类似的问题,结果我不得不替换

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

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

根据我的发现,每当 npm 管理的文件夹的权限出现问题并且 ubuntu 上有许多位置时,就会抛出此异常:/usr/local/lib/usr/local/bin/usr/local/share~/.npm~/.cordova 甚至更多。如果要在环境本身中执行构建,则有机会获取缺少权限的相关文件夹。

然而,在玩了很多之后,我发现实际问题出在/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/util.jsutil.js文件,问题出在以下行:global_config_path = path.join(HOME, '.cordova');

此代码仅在环境变量不存在的情况下执行CORDOVA_HOME。所以我刚刚添加了它:export CORDOVA_HOME="~/.cordova",例外消失了。希望它能帮助某人。

相关内容

  • 没有找到相关文章

最新更新