npm có cài đặt riêng proxy và https-proxy. Khác biệt là đích đang được yêu cầu. Với proxy HTTP thông thường tạo đường hầm HTTPS, cả hai giá trị có thể trỏ tới cùng điểm cuối http://.

.npmrc cấp dự án có thể chứa:

proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal

Thay điểm cuối trong tài liệu bằng proxy của bạn; với thử nghiệm registry công khai được phép, danh sách proxy HTTP cung cấp ứng viên HTTP. Dòng cuối cố ý giữ registry nội bộ được nêu ở kết nối trực tiếp. Nó không phải địa chỉ proxy khác.

Yêu cầu npm gửi một yêu cầu

Cài đặt từ bộ nhớ đệm là phép thử tuyến kém: npm có thể đã có mọi thứ cần thiết. Ping registry là kiểm tra nhỏ hơn:

npm ping --registry=https://registry.npmjs.org/

Hoàn tất thành công cho thấy lần gọi npm này đến được tuyến của registry đó. Nó không chứng minh mọi máy chủ tarball, phụ thuộc Git hay tiến trình quản lý gói riêng đều dùng cùng đường đi.

Để tìm cài đặt xung đột, xem giá trị có hiệu lực thay vì lập tức sửa thêm tệp:

npm config get proxy
npm config get https-proxy
npm config get noproxy

Các lệnh này có thể in thông tin đăng nhập nếu được nhúng trong URL. Kiểm tra đầu ra tại máy thay vì dán nguyên trạng vào báo cáo lỗi.

.npmrc của dự án không dùng cho cài đặt toàn cục. Nếu chỉ npm install -g thất bại, xem cấu hình có hiệu lực của lần gọi đó thay vì cho rằng nó đã đọc tệp dự án.

Kiểm tra ngoại lệ trước khi đổi IP

npm còn dùng biến môi trường proxy và cài đặt noproxy có thể đến từ NO_PROXY. Đích bị cấu hình có hiệu lực loại trừ có thể kết nối trực tiếp dù có giá trị proxy. Ngược lại, xóa dòng trong một .npmrc không loại bỏ biến môi trường được kế thừa.

Tách lỗi chứng chỉ

Proxy kiểm tra được ủy quyền có thể cần CA của tổ chức mà cấu hình Node/npm chưa tin cậy. npm hỗ trợ tệp CA:

cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true

Dùng đúng bộ được phê duyệt thực tế cho môi trường đó. strict-ssl=false làm yếu xác minh chứng chỉ, không thay thế việc chọn đúng proxy hay vật liệu tin cậy.

Khi thử nghiệm xong, xóa các ghi đè cấp dự án đã thêm và xem lại giá trị có hiệu lực. Dự án sẽ kế thừa cấu hình trước đó mà không thay đổi dự án khác trên cùng máy.

Bài viết liên quan