Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ionic serve command failed to find argument

I have an angular project and I want to use ionic for mobile. I did ionic init.

When I run the command ionic serve, I get this error:

> ng.cmd run app:serve --host=localhost --port=8100
[ng] Error: Unknown arguments: host, port

[ERROR] ng has unexpectedly closed (exit code 1).

        The Ionic CLI will exit. Please check any output above for error details.

Here is my package.json :

{
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build:prod": "ng build --configuration production",
    "watch": "ng build --watch --configuration development",
    "test": "ng test"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^14.2.4",
    "@angular/cdk": "^14.2.3",
    "@angular/common": "^14.2.4",
    "@angular/compiler": "^14.2.4",
    "@angular/core": "^14.2.4",
    "@angular/forms": "^14.2.4",
    "@angular/material": "^14.2.3",
    "@angular/platform-browser": "^14.2.4",
    "@angular/platform-browser-dynamic": "^14.2.4",
    "@angular/router": "^14.2.4",
    "angular-material-dynamic-themes-eli": "^1.0.4",
    "bootstrap": "^5.1.3",
    "flag-icons": "^6.4.4",
    "material-design-icons": "^3.0.1",
    "ngx-editor": "^15.0.0",
    "rxjs": "^7.4.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.2.4",
    "@angular/cli": "^14.2.4",
    "@angular/compiler-cli": "^14.2.4",
    "@types/jasmine": "^4.3.0",
    "@types/node": "^18.7.23",
    "jasmine-core": "^4.4.0",
    "karma": "^6.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "~1.7.0",
    "tslib": "^2.3.1",
    "typescript": "~4.8.4"
  }
}

How can I fix the host/port missing arguments ?

After a comment of SimpleDev, I tried all answer here :

  • Use npm install @ionic/app-scripts@latest --save-dev : The @ionic/app-scripts package is deprecated and not updated to angular 14 or 15. When running it, I get Undefined variable standalone_static_library in binding.gyp while trying to load binding.gyp.
  • Delete node_modules and npm install: Doesn't change anything
  • Uninstall and reinstall angular/ionic cli here : Already tried, and didn't change anything
  • Multiple answer are copied, and others are the same: doesn't works
like image 297
Elikill58 Avatar asked Mar 31 '26 22:03

Elikill58


2 Answers

What worked for me was specifying the project name as you would in the angular cli with

ionic serve --project {{project}}

like image 175
shoop Avatar answered Apr 02 '26 14:04

shoop


I have been able to fix this issue for a project I'm working on, after experiencing just this issue. It seems that the app part in app:serve is dynamic and relates to the name of your angular project as defined in angular.json. The ionic CLI tool seems to assume this is always app, even though the installer has added quite a few ng commands to angular.json using the project name it found in this same angular.json file. What fixed the issue for me is renaming the project to app by editing the angular.json config:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "myapp": {
      "projectType": "application",

In the above example,myapp should be changed to app. Search for other occurrances of myapp as well, you'll find a few myapp:build, myapp:serve`, etc. commands as well. Those should be renamed as well.

Now, when I run ionic serve I get no errors and the Angular server actually starts.

like image 32
Leon Boot Avatar answered Apr 02 '26 14:04

Leon Boot