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",
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.
Most helpful comment
I fixed it for now by doing this:
So my guess: old, locally installed cli-utils were not compatible with (local and global) CLI 3.7 and made
ionicfail before the update checks.