【问题标题】:Cordova returns Error: Cannot find module 'external-editor'Cordova 返回错误:找不到模块“外部编辑器”
【发布时间】:2019-07-24 21:39:17
【问题描述】:

在 Debian 操作系统(10.0 / buster)上,我安装了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 install 没有帮助。这是调用cordova时的输出:

root@/opt/cordova#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,但结果相同。

这是什么原因? - 问候

【问题讨论】:

    标签: node.js cordova npm


    【解决方案1】:

    我发现了问题。我安装了缺少的外部编辑器:

    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)
    

    解决了。

    【讨论】:

      猜你喜欢
      • 2015-05-08
      • 2017-07-17
      • 1970-01-01
      • 2021-11-16
      • 2019-01-27
      • 1970-01-01
      • 2020-02-27
      • 2018-11-26
      • 1970-01-01
      相关资源
      最近更新 更多