离子错误:找不到模块'dezalgo'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了离子错误:找不到模块'dezalgo'相关的知识,希望对你有一定的参考价值。

我正在尝试将ios平台添加到我的项目中,以便我可以在XCode中构建它。我运行了以下命令:ionic cordova platform add ios

这是我得到的错误:

ionic cordova platform add ios
> cordova platform add ios --save
module.js:544
    throw err;
    ^

Error: Cannot find module 'dezalgo'
    at Function.Module._resolveFilename (module.js:542:15)
    at Function.Module._load (module.js:472:25)
    at Module.require (module.js:585:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/chando/Documents/GIT/testproject/node_modules/cordova-lib/node_modules/npm/lib/utils/correct-mkdir.js:2:15)
    at Module._compile (module.js:641:30)
    at Object.Module._extensions..js (module.js:652:10)
    at Module.load (module.js:560:32)
    at tryModuleLoad (module.js:503:12)
    at Function.Module._load (module.js:495:3)
[ERROR] Exception: 

我已尝试删除node_modules的多种变体,安装最新版本的离子,npm等无济于事。

有人遇到过这种情况么?

这是我的离子信息:

cli包:(/ usr / local / lib / node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

全球套餐:

cordova (Cordova CLI) : not installed

本地包裹:

@ionic/app-scripts : 2.1.4
Cordova Platforms  : none
Ionic Framework    : ionic-angular 3.9.2

系统:

Node  : v9.2.1
npm   : 5.6.0 
OS    : macOS Sierra
Xcode : Xcode 9.2 Build version 9C40b 

环境变量:

android_HOME : not set

其他:

backend : pro
答案

我正在使用Node.js 9.7.0和npm 5.6.0。

使用rm -rf node_modules && npm install进行全新安装也可以解决此错误。

在撰写本文时,问题仍然没有解决。许多人在几个GitHub问题板上抱怨这个dezalgo错误:

编辑:当其中一个依赖项依赖于较旧的npm版本(例如davidnpm-check-updates包)时,似乎会出现此问题。

另一答案

我今天早上为我的项目更新到最新的Ionic / Angular后出现了这个问题。这是一种解决方法,但它对我有用:

  1. 将“dezalgo”:“~1.0”添加到package.json的devDependencies部分
  2. 运行npm prune
  3. 运行npm install
  4. 建立你的项目

我无法告诉你它为什么有效,除了猜测所有NPM模块中的某个地方有人忘了包含这种依赖。我还应该注意到我也更新了我的全局模块,但我怀疑这会对此产生任何影响。

以上是关于离子错误:找不到模块'dezalgo'的主要内容,如果未能解决你的问题,请参考以下文章

打字稿错误找不到名称'require'。离子 3

离子 - 错误:找不到模块'android-versions'

找不到模块“离子原生”

找不到离子角模块

离子3:找不到管道''[重复]

离子 - 错误:找不到与给定名称匹配的资源(在“dialogCornerRadius”处,值为“?android:attr/dialogCornerRadius”)