Ionic-cli: TypeError: cli_utils_1.generateIonicEnvironment is not a function

Created on 3 Aug 2017  ยท  4Comments  ยท  Source: ionic-team/ionic-cli

I just wanted to build an old project, that was last built a month ago:

PS C:\Users\Jan\Documents\ionic-android-contacts> ionic cordova run android
[WARN] No local CLI detected.
       Starting with CLI 3.6, the CLI must be installed locally to use local CLI plugins.

? Install now? Yes
> npm install --save-dev --save-exact ionic@latest
โˆš Running command - done!
[OK] Installed Ionic CLI locally!

Please re-run your command.

But now I get this:

PS C:\Users\Jan\Documents\ionic-android-contacts> ionic cordova run android
TypeError: cli_utils_1.generateIonicEnvironment is not a function
    at Object.<anonymous> (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:84:40)
    at Generator.next (<anonymous>)
    at C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:96:75
    at Promise (<anonymous>)
    at Object.__awaiter (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:92:16)
    at Object.run (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:78:20)
    at C:\nvm\v8.1.3\node_modules\ionic\bin\ionic:21:7
    at <anonymous>

For all ionic commands:

PS C:\Users\Jan\Documents\ionic-android-contacts> ionic info
TypeError: cli_utils_1.generateIonicEnvironment is not a function
    at Object.<anonymous> (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:84:40)
    at Generator.next (<anonymous>)
    at C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:96:75
    at Promise (<anonymous>)
    at Object.__awaiter (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:92:16)
    at Object.run (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:78:20)
    at C:\nvm\v8.1.3\node_modules\ionic\bin\ionic:21:7
    at <anonymous>
PS C:\Users\Jan\Documents\ionic-android-contacts> ionic -v
TypeError: cli_utils_1.generateIonicEnvironment is not a function
    at Object.<anonymous> (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:84:40)
    at Generator.next (<anonymous>)
    at C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:96:75
    at Promise (<anonymous>)
    at Object.__awaiter (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\tslib\tslib.js:92:16)
    at Object.run (C:\Users\Jan\Documents\ionic-android-contacts\node_modules\ionic\dist\index.js:78:20)
    at C:\nvm\v8.1.3\node_modules\ionic\bin\ionic:21:7
    at <anonymous>

Possibly because it installed a local CLI 3.7 and the global one is still on 3.6?

PS C:\Users\Jan\Documents\ionic-android-contacts> cd ..
PS C:\Users\Jan\Documents> ionic -v
? The Ionic CLI has an update available (3.6.0 => 3.7.0)! Would you like to install it? No
[INFO] Not automatically updating your CLI. You can update manually:

       npm install -g ionic@latest

3.6.0
PS C:\Users\Jan\Documents>

Snippet of package.json of that project:

        "@ionic/app-scripts": "1.3.12",
        "@ionic/cli-plugin-cordova": "1.4.0",
        "@ionic/cli-plugin-ionic-angular": "1.3.1",

Most helpful comment

I fixed it for now by doing this:

PS C:\Users\Jan\Documents\ionic-android-contacts> npm install --save-dev @ionic/cli-utils
npm WARN @ionic/[email protected] requires a peer of strip-ansi@^3.0.1 but none was installed.
npm WARN @ionic/[email protected] requires a peer of strip-ansi@^3.0.1 but none was installed.

+ @ionic/[email protected]
added 25 packages, updated 2 packages and moved 1 package in 16.585s
PS C:\Users\Jan\Documents\ionic-android-contacts> ionic info
? Local plugin @ionic/cli-plugin-cordova has an update available (1.4.0 => 1.6.1)! Would you like to install it? Yes
> npm install --save-dev --save-exact @ionic/cli-plugin-cordova@latest
โˆš Running command - done!
[OK] Updated @ionic/cli-plugin-cordova to 1.6.1! ๐ŸŽ‰
? Local plugin @ionic/cli-plugin-ionic-angular has an update available (1.3.1 => 1.4.1)! Would you like to install it?
Yes
> npm install --save-dev --save-exact @ionic/cli-plugin-ionic-angular@latest
โˆš Running command - done!
[OK] Updated @ionic/cli-plugin-ionic-angular to 1.4.1! ๐ŸŽ‰
> npm dedupe
โˆš Running command - done!

cli packages: (C:\Users\Jan\Documents\ionic-android-contacts\node_modules)

    @ionic/cli-plugin-cordova       : 1.6.1
    @ionic/cli-plugin-ionic-angular : 1.4.1
    @ionic/cli-utils                : 1.7.0
    ionic (Ionic CLI)               : 3.7.0

global packages:

    Cordova CLI : 7.0.1

local packages:

    @ionic/app-scripts : 1.3.12
    Cordova Platforms  : android 6.2.3
    Ionic Framework    : ionic-angular 3.5.0

System:

    Android SDK Tools : 26.0.2
    Node              : v8.1.3
    OS                : Windows 10
    npm               : 5.1.0

So my guess: old, locally installed cli-utils were not compatible with (local and global) CLI 3.7 and made ionic fail before the update checks.

All 4 comments

Updating the global install to 3.7 didn't fix the problem.

PS C:\Users\Jan\Documents\ionic-android-contacts> npm list --depth=0
[email protected] C:\Users\Jan\Documents\ionic-android-contacts
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @ionic-native/[email protected]
+-- @ionic-native/[email protected]
+-- @ionic-native/[email protected]
+-- @ionic-native/[email protected]
+-- @ionic/[email protected]
+-- @ionic/[email protected]
+-- @ionic/[email protected]
+-- @ionic/[email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]

I fixed it for now by doing this:

PS C:\Users\Jan\Documents\ionic-android-contacts> npm install --save-dev @ionic/cli-utils
npm WARN @ionic/[email protected] requires a peer of strip-ansi@^3.0.1 but none was installed.
npm WARN @ionic/[email protected] requires a peer of strip-ansi@^3.0.1 but none was installed.

+ @ionic/[email protected]
added 25 packages, updated 2 packages and moved 1 package in 16.585s
PS C:\Users\Jan\Documents\ionic-android-contacts> ionic info
? Local plugin @ionic/cli-plugin-cordova has an update available (1.4.0 => 1.6.1)! Would you like to install it? Yes
> npm install --save-dev --save-exact @ionic/cli-plugin-cordova@latest
โˆš Running command - done!
[OK] Updated @ionic/cli-plugin-cordova to 1.6.1! ๐ŸŽ‰
? Local plugin @ionic/cli-plugin-ionic-angular has an update available (1.3.1 => 1.4.1)! Would you like to install it?
Yes
> npm install --save-dev --save-exact @ionic/cli-plugin-ionic-angular@latest
โˆš Running command - done!
[OK] Updated @ionic/cli-plugin-ionic-angular to 1.4.1! ๐ŸŽ‰
> npm dedupe
โˆš Running command - done!

cli packages: (C:\Users\Jan\Documents\ionic-android-contacts\node_modules)

    @ionic/cli-plugin-cordova       : 1.6.1
    @ionic/cli-plugin-ionic-angular : 1.4.1
    @ionic/cli-utils                : 1.7.0
    ionic (Ionic CLI)               : 3.7.0

global packages:

    Cordova CLI : 7.0.1

local packages:

    @ionic/app-scripts : 1.3.12
    Cordova Platforms  : android 6.2.3
    Ionic Framework    : ionic-angular 3.5.0

System:

    Android SDK Tools : 26.0.2
    Node              : v8.1.3
    OS                : Windows 10
    npm               : 5.1.0

So my guess: old, locally installed cli-utils were not compatible with (local and global) CLI 3.7 and made ionic fail before the update checks.

Hey all, 3.8 no longer loads the CLI plugins, so this error won't happen anymore.

Was this page helpful?
0 / 5 - 0 ratings