Cordova返回错误:找不到模块“外部编辑器”

时间:2019-07-19 15:48:58

标签: node.js cordova npm

在Debian OS(10.0 /破坏者)上,我安装了cordova:

npm install -g cordova
+ cordova@9.0.0

运行cordova时,无论有无参数,我都会得到:

Error: Cannot find module 'external-editor'

节点,npm版本:

npm --version
6.10.1

node --version
v12.6.0

npm list
cordova@1.0.0 /opt/cordova
  |--- external-editor@3.1.0

Here it says: cordova@1.0.0 while the installation of cordova says: + cordova@9.0.0

我尝试过:

npm install external-editor --save

npm WARN cordova@1.0.0 No repository field.

+ external-editor@3.1.0
updated 1 package and audited 6 packages in 0.536s
found 0 vulnerabilities

但是,npm安装没有帮助。这是调用cordova时的输出:

root @ / opt / cordova#科尔多瓦

internal/modules/cjs/loader.js:628
    throw err;
    ^

Error: Cannot find module 'external-editor'
Require stack:
- /usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/prompts/editor.js
- /usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/inquirer.js
- /usr/local/lib/node_modules/cordova/node_modules/insight/lib/index.js
- /usr/local/lib/node_modules/cordova/src/telemetry.js
- /usr/local/lib/node_modules/cordova/src/cli.js
- /usr/local/lib/node_modules/cordova/bin/cordova
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:625:15)
    at Function.Module._load (internal/modules/cjs/loader.js:527:27)
    at Module.require (internal/modules/cjs/loader.js:683:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/prompts/editor.js:7:17)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:683:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/prompts/editor.js',
    '/usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/inquirer.js',
    '/usr/local/lib/node_modules/cordova/node_modules/insight/lib/index.js',
    '/usr/local/lib/node_modules/cordova/src/telemetry.js',
    '/usr/local/lib/node_modules/cordova/src/cli.js',
    '/usr/local/lib/node_modules/cordova/bin/cordova'
  ]
}

查看editor.js:

head /usr/local/lib/node_modules/cordova/node_modules/inquirer/lib/prompts/editor.js

'use strict';
/**
 * `editor` type prompt
 */

var chalk = require('chalk');
var editAsync = require('external-editor').editAsync;
var Base = require('./base');
var observe = require('../utils/events');
var { Subject } = require('rxjs');

我也尝试过重新安装cordova,但结果相同。

这是什么原因? -问候

1 个答案:

答案 0 :(得分:0)

我发现了问题。我用以下方法安装了缺少的外部编辑器:

npm install external-editor --save

但这不会将其安装在Cordova的范围内。

我必须使用-g选项在全球范围内进行安装。

npm install -g external-editor
+ external-editor@3.1.0
added 6 packages from 11 contributors in 0.349s

测试科尔多瓦

# cordova -v
9.0.0 (cordova-lib@9.0.1)

已解决。