【发布时间】: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,但结果相同。
这是什么原因? - 问候
【问题讨论】: