Lỗi CLI góc: Lệnh phục vụ yêu cầu được chạy trong dự án Angular, nhưng không thể tìm thấy định nghĩa dự án


158

Khi chạy các lệnh đầu cuối ng serverhoặc ng serve --live-reload=true, tôi gặp vấn đề này:

Lệnh phục vụ yêu cầu được chạy trong một dự án Angular, nhưng không thể tìm thấy định nghĩa dự án.


11
Kiểm tra xem bạn có thư mục node_modules trong thư mục dự án không, nếu không thực hiện cài đặt
npm

tôi đã có thư mục node_modules.
Gurpreet Singh

Tôi tình cờ gặp câu hỏi này khi tôi có thông báo lỗi tương tự khi cố chạy "ng build". Câu trả lời cho tôi là chạy "npm run build"
cfranklin

Tôi đã ở trong thư mục gốc và nhận được lỗi này: D. Sau khi ng new projecttôi quên nhập thư mục dự án.
Davut Gürbüz

Câu trả lời:


228

Tôi cũng đã nhận được vấn đề này và giải quyết bằng cách chạy bên dưới lệnh.

ng update @angular/cli --migrate-only --from=<WhateverVersionYouAreCurrentlyOn>

ví dụ

ng update @angular/cli --migrate-only --from=1.7.3

nhận ref từ đây https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036


30
Điều này xảy ra vì angular-cli mới phụ thuộc vào việc sử dụng angular.json thay vì .angular-cli.json làm tệp dự án và câu trả lời của bạn quan tâm đến việc chuyển đổi này
Tên mã Jack

7
Lưu ý: Các --from=1.7.4đại diện cho phiên bản đang được di chuyển từ, do đó 1.7.4nên được thay đổi cho phiên bản góc cạnh bạn trước đây được sử dụng (ví dụ như: 5.2.10, 6.0.0, vv).
cjn

4
ng update @ angular / cli << điều này hiệu quả với tôi với một dự án hiện có từ góc 6 đến 7
Abdullah Adeeb

2
Tôi đã vào ngày 1.2.4 và gặp lỗi sau: The specified command update is invalid. For available options, see ``ng help``.Tôi đã giải quyết nó bằng cách cập nhật angular-cli thành 1.7.4 và sau đó làm theo câu trả lời này.
ILikeFood

1
Cảm ơn. Làm việc cho tôi khi tôi nâng cấp góc từ 4.4.7 lên 7
Pullat Junaid

71

đảm bảo rằng bạn đang chạy lệnh trong thư mục gốc của ứng dụng ..


để truy cập thư mục gốc của bạn, hãy sử dụng pm> dir pm> cd clientappnếu bạn có thông báo lỗi, hãy sử dụng thông tin sau pm>ng config -g cli.warnings.versionMismatch false
hosam hemaily

44

nếu bạn đã tải xuống một dự án, hãy làm trong dự án

cài đặt npm


vấn đề của tôi là các gói npm riêng chưa được cài đặt
David

Vấn đề tương tự tôi gặp phải khi thử các dự án thử nghiệm cho một hướng dẫn góc cạnh
mahlatse

19

Cuối cùng, lệnh dưới đây đã khắc phục sự cố cho tôi!

ng update --all --force

Tôi đã cố gắng ng update @angular/clikhông làm việc nhưng ng update --all --forcelàm việc như mong đợi sự khác biệt sẽ là gì?
k11k2

15

Lỗi Angular Cli: Lệnh phục vụ yêu cầu được chạy trong dự án Angular, nhưng không thể tìm thấy định nghĩa dự án

Vấn đề là thiếu các tập tin angular.json.

    ng update --all --force

Đã thử nghiệm ở góc 7+


5

Nó đã xảy ra trong dự án hiện tại của tôi khi tôi cố gắng cập nhật lên các gói nodenpmgói mới nhất :

  1. Gỡ cài đặt toàn cầu: npm uninstall -g angular-cli
  2. Đặt lại bộ đệm: npm cache cleanhoặc npm cache verify(cho npm version> 5)
  3. Cài đặt mới nhất: npm install -g @angular/cli@latest

4

Hãy chắc chắn rằng bạn đã thiết lập cấu hình phiên bản góc mới trong dự án của bạn. Cli góc mới sử dụng angular.json chứ không phải .angular-cli.json cho cấu hình của nó.

Thực hiện theo hướng dẫn di chuyển .


4

Điều đó thật ngớ ngẩn với tôi nhưng cần để lại bình luận có lẽ tôi sẽ cứu người khác một số rắc rối. Thông báo tương tự xảy ra nếu bạn đa nhiệm và có nhiều dự án, vì vậy một số dự án được lồng trong thư mục dự án như projectFolder/subProject/projectOnevậy nên tôi đã projectFolder/subProjectcố gắng chạy lệnh ng serve.

Hãy chắc chắn rằng bạn đang ở trong thư mục chính xác vì lỗi tương tự sẽ xảy ra nếu bạn ở trong thư mục sai và conf và bản dựng bị thiếu!


3

Trong Bảng điều khiển quản lý gói của bạn chạy lệnh

PM> cd NameofApp 

sau đó bạn có thể thử chạy lệnh ở đó. Ví dụ

PM > ng generate component Home

3

để cài đặt lại mới, ứng dụng sẽ tốt hơn thay vì cập nhật hoặc chỉnh sửa một số cấu hình không được nhận ra bởi npm do thiếu cấu hình hoặc chúng tôi không thực sự chắc chắn điều gì sai.

Tôi chọn giải pháp @Tinu là công việc

Bước 1) cài đặt npm -g @ angular / cli

Bước 2) ng dự án mới của tôi

Bước 3) cd my-angular-project

Bước 4) ng phục vụ --open

chỉ cần tạo bản sao lưu cho mã nguồn hiện tại của chúng tôi và đưa nó trở lại dự án góc mới được tạo.


2

Điều này xảy ra khi bạn cố chạy lệnh Angular "ng s" hoặc "ng phục vụ" trên thư mục khác thay vì thư mục gốc của ứng dụng Angular.

Đồng thời nâng cấp Angular bằng lệnh sau:

ng update @angular/cli --migrate-only --from=1.7.4

Điều này sẽ sắp xếp nó ra.


2

Trong trường hợp của tôi, tôi quên thay đổi thư mục của mình, vì vậy ngay sau khi chạy lệnh:

ng AngularProject mới

thực hiện một lệnh khác:

Dự án Angular

ng servelàm việc cho tôi.


2

Tôi gặp vấn đề tương tự với Angular7 vì chúng tôi cần vào thư mục gốc trước khi chạy ứng dụng của bạn. Chuyển đến thư mục gốc của ứng dụng của bạn và chạy lệnh. Nó hoạt động hoàn hảo cho tôi.


2

Vấn đề tương tự tôi gặp phải, nhưng tôi đã giải quyết bằng cách làm theo các bước mã này.

Step 1) npm install -g @angular/cli
Step 2) ng new my-angular-project
Step 3) cd my-angular-project
Step 4) ng serve --open

Tại sao chúng ta phải tạo một dự án mới? Tôi muốn điều này được thực hiện cho người hiện tại
Dadhich Sourav

Tại sao tạo ra một dự án mới? Nếu bất cứ ai gặp vấn đề trong dự án hiện tại
Lint

2

Lỗi này xảy ra khi dự án bạn đang chạy không phải là một dự án góc. Mặc dù bạn đã tải xuống một dự án góc cạnh nhưng chưa cài đặt tất cả các phụ thuộc đó là lý do tại sao lệnh ng phục vụ không có sẵn cho bạn.

Chỉ cần điều hướng đến đường dẫn nơi dự án được lưu trữ và sử dụng lệnh

npm install

(Lưu ý - Node.js nên được cài đặt trong hệ thống của bạn và nếu bạn đang sử dụng Angular 2 hoặc cao hơn thì cli góc cũng nên được cài đặt trong hệ thống của bạn trước khi bạn chạy lệnh này. Để kiểm tra xem node.js có được cài đặt n hệ thống của bạn không 1) Mở cmd (bất kỳ nút đường dẫn nào sẽ được cài đặt toàn cầu trong hệ thống của bạn) 2) sử dụng lệnh

node -v
npm -v

để có được phiên bản nút và npm)

Một điều quan trọng hơn: Phiên bản cli góc cạnh sẽ không tạo ra sự khác biệt nếu phiên bản được cài đặt trong hệ thống của bạn cao hơn phiên bản mà dự án yêu cầu. Nó sẽ đưa ra một cảnh báo nhưng bạn có thể bỏ qua cảnh báo.


2

Lỗi này có thể xảy ra khi chúng tôi ở trong thư mục sai. Vì vậy, hãy sử dụng lệnh cd để thay đổi thư mục của bạn. Không có gì rõ ràng từ nhận xét trên rằng lệnh cụ thể nào đưa ra lỗi này vì vậy câu trả lời này dựa trên giả định rằng bạn đang chạy ng phục vụ bên ngoài thư mục gốc / thư mục dự án thực tế. Đó là lý do tại sao nó gây ra lỗi vì các lệnh cli yêu cầu các tệp conf & build để chạy bản dựng cli.

These should be the steps:
npm install -g @angular/cli  //corrected from 'angular-cli'
ng new projectname
cd projectname
ng serve
open http://localhost:4200


1

Tôi đã gặp cùng một lỗi. Lý do là bản cập nhật cli góc mới làm cho angular-cli.json trở nên dư thừa và thay vào đó nó được thay thế bằng angular.json. Phiên bản Angular Cli trước đây của tôi là 1.7.4, vì vậy để thực hiện thay đổi, tôi đã chạy lệnh sau, nó sẽ thực hiện chuyển đổi cho bạn:

ng update @angular/cli --migrate-only --from=1.7.4

Tùy chọn không xác định: '--target' npm ERR! mã ELIFECYCLE
Sohail

1

Tôi đã đối mặt với cùng một vấn đề khi,

Tôi đã tạo dự án góc mới bằng phiên bản angular-cli cũ (1.4.7) Sau đó, tôi đã cập nhật angular-cli bằng các lệnh bên dưới ( KHÔNG LÀM BÊN DƯỚI ĐỂ CẬP NHẬT CLI )

  • npm uninstall -g @angular/cli
  • npm cache clean --force
  • npm install -g @angular/cli@latest

Bây giờ khi tôi cố gắng ng serve, tôi đã nhận được cùng một lỗi như bạn

Angular Cli Error: The serve command requires to be run in an Angular project, but a project definition could not be found

DƯỚI ĐÂY CẬP NHẬT CLI

ng update @angular/cli --migrate-only --from=1.4.7

1

Như Usman đã nói, lần đầu tiên tôi gặp rất nhiều rắc rối, tôi đã làm theo hướng dẫn. Tôi đã không đặt thư mục của tôi vào thư mục dự án do đó có lỗi này.

Tôi đã giải quyết vấn đề bằng cách

  1. Đặt thư mục gốc chính xác đến nơi dự án của tôi cd myproject
  2. Biên dịch ứng dụng - ng serve

Điều đó là vậy đó.


1

Đã thử tất cả những điều trên Nhưng đối với tôi, nó đã được giải quyết bằng

npm start


điều này nên có trong phần bình luận
Pardeep

@Pardeep Tôi đã thử tất cả các câu trả lời ở trên nhưng npm bắt đầu làm việc với tôi. Vì vậy, nó sẽ hữu ích cho các nhà phát triển khác. nếu nó được thực hiện như một câu trả lời bắt mắt hơn là giữ bình luận
viveksuggu

1

Tôi đang sử dụng ionciv1, trong tệp ionic.config.jsonxóa khóa loại góc và nó hoạt động chính xác

thí dụ:

  {
  "name": "nombre",
  "integrations": {
    "cordova": {}
  },
  "type": "angular", // delete
  "gulpStartupTasks": [
    "sass",
    "templatecache",
    "ng_annotate",
    "useref",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ],
  "browsers": [
    {
      "platform": "android",
      "browser": "crosswalk",
      "version": "12.41.296.5"
    }
  ],
  "id": "0.1"
}

đã giải quyết

     {
      "name": "nombre",
      "integrations": {
        "cordova": {}
      },
      "gulpStartupTasks": [
        "sass",
        "templatecache",
        "ng_annotate",
        "useref",
        "watch"
      ],
      "watchPatterns": [
        "www/**/*",
        "!www/lib/**/*"
      ],
      "browsers": [
        {
          "platform": "android",
          "browser": "crosswalk",
          "version": "12.41.296.5"
        }
      ],
      "id": "0.1"
    }

1

Lỗi này thường có thể được truy trở lại bản cập nhật cho thời gian chạy CLI toàn cầu hoặc cục bộ của chúng tôi. Để kiểm tra xem đây có phải là vấn đề không, chúng tôi cần xem lại package.jsontệp. Ở đó, chúng ta nên tìm @ angular / cli phụ thuộc . Điều này sẽ chỉ ra phiên bản CLI đã được sử dụng để tạo dự án của chúng tôi. Hãy ghi lại giá trị này, vì chúng ta cần sử dụng nó để di chuyển dự án của chúng ta sau này.

Bây giờ chúng ta nên so sánh với thời gian chạy CLI hiện tại bằng cách nhập lệnh sau trên cửa sổ terminal.

ng v

sản lượng của ng v

Nếu bạn gặp lỗi An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', sau đó bạn quên chạynpm install

Bảng điều khiển sẽ hiển thị phiên bản CLI hiện tại. Nếu các phiên bản khác nhau , chúng ta cần di chuyển dự án sang phiên bản CLI mới bằng cách chạy lệnh bên dưới. Lưu ý rằng tham số từ phiên bản nên được đặt thành giá trị tìm thấy cho cài đặt @ angular / cli .

ng update @angular/cli --migrate-only --from=1.6.7

Bây giờ chúng ta nên xem dự án của mình và sẽ nhận thấy các thay đổi đối với phiên bản phụ thuộc CLI trong package.jsontệp. Cũng tùy thuộc vào phiên bản CLI của bạn, .angular-cli.jsontệp sẽ bị xóa và một angular.jsontệp mới được tạo. Đây là tệp dự án mà CLI mới đang tìm kiếm và do đó, nguồn gốc của lỗi không tìm thấy dự án. Bằng cách thêm tệp này, chúng tôi sẽ có thể trở lại đúng hướng khi chạy lại dự án của chúng tôi.

Chúng ta sẽ có thể nhập lệnh sau và dự án sẽ được tải tốt.

ng server

Cảm ơn ozkary


1

Hãy chắc chắn rằng bạn đã tạo Ứng dụng góc bằng cách sử dụng lệnh bên dưới, sau đó chạy ng phục vụ trong thư mục Dự án đã tạo.

ng new Project_Name

0

Ngoài ra, hãy đảm bảo nếu bạn đang chạy ng phục vụ mà bạn dừng nó trước ...


0

Giải quyết. Tôi đã gặp vấn đề tương tự trên Ubuntu 18.04.01 LTS . Không có tùy chọn nào hoạt động như tôi đang sử dụng NVM (Trình quản lý phiên bản nút.) Giải pháp là
trước khi tạo dự án , sử dụng lệnh
nvm sử dụng 10
(phiên bản nút của tôi là 10.15.0, vì vậy tôi đã sử dụng "nvm use 10")
Nó sẽ hiển thị cho bạn đầu ra-
Bây giờ sử dụng nút v10.15.0 (npm v6.4.1)
Phiên bản sẽ thay đổi theo từng hệ thống riêng lẻ. sau đó tạo dự án mới.


0

Bạn có thể cập nhật góc với lệnh 'ng update --all'. Sẽ mất thời gian nhưng đảm bảo tất cả các thành phần của bạn được cập nhật.


0

Hãy kiểm tra xem bạn đang ở trong thư mục dự án của bạn hay không và thử lệnh ng servemột lần nữa

Tôi đã gặp lỗi tương tự kể từ khi tôi thử ng servelệnh bên ngoài dự án của tôi

Ví dụ :: giả sử bạn có một dự án có tên "Thương mại điện tử" đi qua thư mục và thử lệnh ng serve mở terminal cd Thương mại điện tử ng phục vụ


0

Điều này đã khắc phục vấn đề của tôi:

ng generate component nameComponent --module app.module

0

Điều này xảy ra bởi vì chúng ta đang nhấn lệnh ng phục vụ trong một số đường dẫn khác. Điều này có thể được giải quyết bằng cách nhấn lệnh ng phục vụ hoặc lệnh bắt đầu npm trên đường dẫn chính xác dự án của chúng ta (đi đường dẫn cho đến khi thư mục chứa src, node_modules, v.v.)

F: \ project \ AngularDemo \ AngularDemoapp> ng phục vụ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.