Khi chạy các lệnh đầu cuối ng server
hoặ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.
ng new project
tôi quên nhập thư mục dự án.
Khi chạy các lệnh đầu cuối ng server
hoặ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.
ng new project
tôi quên nhập thư mục dự án.
Câu trả lời:
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
--from=1.7.4
đại diện cho phiên bản đang được di chuyển từ, do đó 1.7.4
nê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).
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.
đảm bảo rằng bạn đang chạy lệnh trong thư mục gốc của ứng dụng ..
pm> dir
pm> cd clientapp
nế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
Cuối cùng, lệnh dưới đây đã khắc phục sự cố cho tôi!
ng update --all --force
ng update @angular/cli
không làm việc nhưng ng update --all --force
làm việc như mong đợi sự khác biệt sẽ là gì?
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 .
Đ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/projectOne
vậy nên tôi đã projectFolder/subProject
cố 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!
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
để 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.
Đ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.
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
và ng serve
làm việc cho tôi.
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.
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
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.
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
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ô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
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
cd myproject
ng serve
Điều đó là vậy đó.
Đã 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
Tôi đang sử dụng ionciv1, trong tệp ionic.config.json
xó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"
}
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.json
tệ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
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.json
tệp. Cũng tùy thuộc vào phiên bản CLI của bạn, .angular-cli.json
tệp sẽ bị xóa và một angular.json
tệ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
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.
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.
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 serve
một lần nữa
Tôi đã gặp lỗi tương tự kể từ khi tôi thử ng serve
lệ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ụ
Điều này đã khắc phục vấn đề của tôi:
ng generate component nameComponent --module app.module
Đ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ụ