Lỗi bạn gặp phải là do chính sách bảo mật PowerShell trên hệ thống của bạn không cho phép chạy các script, trong đó có ng.ps1
(lệnh Angular CLI). Để giải quyết vấn đề này, bạn cần thay đổi Execution Policy trong PowerShell để cho phép chạy các script. Dưới đây là cách thực hiện:
Các bước khắc phục lỗi:
- Mở PowerShell dưới quyền quản trị (Administrator):
- Nhấn Windows + X và chọn Windows PowerShell (Admin) hoặc Command Prompt (Admin).
- Kiểm tra chính sách thực thi hiện tại: Gõ lệnh sau trong cửa sổ PowerShell để kiểm tra chính sách thực thi hiện tại:
Get-ExecutionPolicy
Nếu kết quả làRestricted
, đó là nguyên nhân gây lỗi, vì chính sách này không cho phép chạy bất kỳ script nào. - Thay đổi Execution Policy: Để thay đổi chính sách thực thi, gõ lệnh sau trong PowerShell (chạy dưới quyền Administrator):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- RemoteSigned: Cho phép chạy các script đã được ký và các script trên máy tính của bạn.
- -Scope CurrentUser: Thay đổi chính sách cho người dùng hiện tại mà không ảnh hưởng đến người dùng khác trong hệ thống.
- Xác nhận thay đổi: Khi PowerShell hỏi bạn có muốn thay đổi chính sách hay không, hãy nhập
Y
(Yes) để xác nhận. - Kiểm tra lại Execution Policy: Sau khi thay đổi, bạn có thể kiểm tra lại chính sách bằng lệnh:
Get-ExecutionPolicy
Kết quả sẽ làRemoteSigned
nếu bạn đã thay đổi thành công. - Thử lại lệnh
ng
: Giờ bạn có thể thử lại lệnh Angular CLI:ng help

Giải thích:
- RemoteSigned là một chính sách khá an toàn, cho phép các script tự tạo trên máy tính của bạn chạy mà không gặp vấn đề, trong khi các script tải về từ internet sẽ yêu cầu có chữ ký hợp lệ.
- Nếu bạn muốn thiết lập lại chính sách về mặc định (không cho phép chạy bất kỳ script nào), bạn có thể sử dụng:powershellCopy code
Set-ExecutionPolicy Restricted -Scope CurrentUser
Lưu ý:
Nếu bạn không muốn thay đổi chính sách thực thi toàn bộ hệ thống, bạn chỉ cần áp dụng thay đổi với -Scope CurrentUser
, tức là thay đổi chính sách cho tài khoản người dùng hiện tại của bạn.
Để lại một bình luận