0

Hướng Dẫn Khắc Phục Lỗi "Running Scripts Is Disabled" Khi Dùng NPM Trên Windows

Nếu bạn đang bắt đầu làm quen với lập trình (đặc biệt là Node.js, React, Angular, Vue...) trên hệ điều hành Windows, rất có thể bạn sẽ ít nhất một lần "chạm trán" với dòng thông báo lỗi đỏ chót như thế này khi cố gắng chạy lệnh npm:

"...cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies..."

Đừng quá lo lắng! Đây hoàn toàn không phải là do bạn cài đặt sai phần mềm hay máy tính bị hỏng. Dưới đây là nguyên nhân và cách giải quyết triệt để vấn đề này chỉ trong 1 phút.

1. Nguyên nhân gây ra lỗi

Lỗi này xuất phát từ cơ chế bảo mật của Windows PowerShell mang tên Execution Policy (Chính sách thực thi).

Mặc định, để bảo vệ máy tính của bạn khỏi các mã độc tống tiền hoặc virus, Windows đặt chính sách này ở mức Restricted (Hạn chế). Ở chế độ này, PowerShell chỉ cho phép bạn chạy các lệnh đơn lẻ từng dòng, nhưng nghiêm cấm việc chạy các tệp kịch bản (scripts) có đuôi .ps1.

Khi bạn gõ lệnh npm install..., thực chất hệ thống đang cố gọi tệp kịch bản npm.ps1 ra để làm việc. Vì tệp này bị PowerShell chặn lại do chính sách bảo mật, nên lỗi UnauthorizedAccess (Truy cập không được phép) sẽ xuất hiện.

2. Cách khắc phục nhanh chóng và an toàn

Để xử lý, chúng ta chỉ cần cấp quyền cho PowerShell chạy các tệp script an toàn. Bạn hãy làm đúng theo các bước sau:

  • Bước 1: Mở PowerShell với quyền Quản trị viên (Administrator)
  • Bấm phím Windows trên bàn phím.
  • Gõ tìm kiếm từ khóa PowerShell.
  • Click chuột phải vào Windows PowerShell và chọn Run as Administrator. (Nếu có bảng thông báo User Account Control hiện lên, hãy bấm Yes).
  • Bước 2: Thay đổi chính sách thực thi
  • Trong cửa sổ dòng lệnh màu xanh vừa hiện ra, bạn hãy copy và dán dòng lệnh sau rồi nhấn Enter: Set-ExecutionPolicy RemoteSigned Bước 3: Xác nhận thay đổi
  • Hệ thống sẽ hiện ra một đoạn thông báo hỏi bạn có chắc chắn muốn thay đổi không.
  • Bạn chỉ cần gõ chữ Y (tương đương với Yes) hoặc A (Yes to All) rồi nhấn Enter.
  • Bước 4: Kiểm tra lại
  • Bây giờ, bạn hãy quay lại phần mềm Visual Studio Code (hoặc terminal bạn đang dùng) và gõ lại lệnh npm ban đầu. Lệnh sẽ chạy mượt mà không còn dòng chữ đỏ nào nữa!

3. Cài đặt "RemoteSigned" có an toàn không?

Câu trả lời là Có. Mức độ RemoteSigned là mức độ tiêu chuẩn và an toàn nhất dành cho các lập trình viên trên Windows. Nó hoạt động theo nguyên tắc:

  • Cho phép chạy các đoạn script do chính bạn tạo ra trên máy tính cá nhân.
  • Chặn các đoạn script tải về từ Internet TRỪ KHI các script đó có chữ ký điện tử xác thực từ một nhà phát hành đáng tin cậy.

Với việc hiểu và xử lý xong rào cản nhỏ này, bạn đã hoàn toàn sẵn sàng để cài đặt bất kỳ thư viện npm nào và tiếp tục hành trình lập trình của mình rồi đấy! Chúc bạn code vui vẻ!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí