Quay lại blog

Thiết lập môi trường Claude Code: 5 việc trước khi chạy cục bộ

Claude Code chạy trong terminal nhưng vẫn cần runtime phù hợp, quyền thư mục, nơi lưu thông tin xác thực an toàn và cấu hình proxy doanh nghiệp. Hướng dẫn này trình bày những gì cần chuẩn bị trên máy cục bộ và cách chia sẻ cấu hình trong nhóm.

Claude Code là một công cụ chạy trong terminal, và sau khi cài đặt, bạn chỉ cần một lệnh để bắt đầu dùng. Vì vậy nhiều người tập trung gần như hoàn toàn vào mạng. Trên thực tế, các điểm gây vướng thường nằm ở chỗ khác: runtime version có đúng không, project directory có quyền ghi không, keys được lưu ở đâu, corporate proxy đi theo đường nào và đồng đội chia sẻ một configuration chung ra sao.

Đồng bộ runtime environment và dependencies trước

Trước tiên, hãy kiểm tra official documentation để biết runtime version hiện đang được yêu cầu và cài đúng phiên bản đó. Đừng vội thử một version mới chỉ phát hành vài ngày. Package manager cũng nên theo chuẩn của team; trộn npm, pnpm và yarn có thể làm các lock files xung đột. git và các command-line tools cơ bản là bắt buộc vì loại công cụ này cần đọc repository, thực thi commands và chạy tests. Thiếu một phần là lỗi có thể xuất hiện ngay.

Sau khi cài xong, hãy kiểm tra ba việc trong một directory trống: đọc được file, sửa được file và chạy được tests. Vấn đề môi trường lộ ra nhanh trong một directory nhỏ; tìm lỗi giữa business code sẽ tốn kém hơn nhiều.

Project directory, permissions và ranh giới

Đừng khởi chạy công cụ từ home directory của user hoặc root của toàn bộ ổ đĩa. Hãy chỉ định rõ repository root và giới hạn read/write trong project. Nếu thật sự cần phạm vi rộng hơn, hãy cấp one-time authorization thay vì mở quyền lâu dài.

Kiểm tra .gitignore trước khi commit. Cache, logs và temporary scripts tạo ở local nên nằm ngoài version control. Trong team, sự cố nghiêm trọng dễ xảy ra không phải vì viết sai code mà vì ai đó vô tình commit sensitive files được tạo trong quá trình local debugging.

Đặt keys và credentials ở đâu

API keys, access tokens và các secrets tương tự nên được truyền qua environment variables hoặc credential manager của operating system. Không ghi chúng vào source code, configuration files hay script comments. Bản thân file .env cũng phải nằm trong .gitignore; trong repository chỉ nên giữ một sample file giải thích ý nghĩa của từng field.

Tách personal credentials khỏi team credentials. Nếu nhiều người dùng chung một key, khi có sự cố sẽ khó xác định ai đang sử dụng. Đặt rotation schedule từ trước: thay định kỳ, thay ngay ngày thành viên rời nhóm và thay lập tức nếu nghi có rò rỉ. Khi phát hiện exposure, hãy revoke trước rồi mới điều tra; đừng xóa logs trước.

Phối hợp với corporate proxy và môi trường mạng

Trong mạng doanh nghiệp, khó khăn với loại công cụ này thường không nằm ở chuyện có kết nối được hay không, mà ở proxy và certificates. Nếu enterprise gateway thực hiện TLS interception, công cụ có thể fail vì không tin cậy certificate chain. Khi đó, hãy xin internal root certificate từ IT và cài vào trust store phù hợp thay vì tạm thời tắt verification.

Login flow sẽ mở browser, vì vậy command line và browser nên dùng cùng một egress path nếu có thể. Đường ra này cũng cần fixed, stable và controllable. Thiếu bất kỳ yếu tố nào, bạn dễ gặp đăng nhập lặp lại hoặc CAPTCHA verification. Việc đổi node thường xuyên có xu hướng kích hoạt kiểm tra nhiều hơn so với giữ một node cố định, vì node cố định trông giống hành vi của người dùng lâu dài hơn.

Để xác nhận egress có thực sự hoạt động, hãy dùng command line kèm proxy parameter để gọi IP lookup service một lần.

curl -x http://127.0.0.1:7897 https://ipinfo.io

Address hiển thị phải là địa chỉ bạn mong đợi. Time zone và language của browser cũng nên khớp với egress region; tránh trường hợp một bên cho thấy North America còn bên kia dùng UTC+8.

Cách chia sẻ configuration trong team

Có thể chia sẻ structure, không chia sẻ secrets. Hãy đặt working-directory conventions, proxy routing rules, allowed command scope và code-style constraints vào một configuration file có thể version control trong repository. Keys được từng người inject riêng trên máy của mình qua environment variables.

Thành viên mới chỉ cần làm theo documentation là có thể chạy được mà không phải hỏi từng đồng nghiệp. Nếu team đồng thời dùng nhiều identities hoặc environments, PurpleMark cũng có thể giữ cố định browser state của từng environment, để sau này truy ra một lần login cụ thể đã xảy ra trong môi trường nào.

Kết luận

Khi loại công cụ này gặp vấn đề, nguyên nhân thường không phải bug của chính công cụ mà là các prerequisites chưa được căn chỉnh. Runtime và dependencies, directory permissions, vị trí keys, proxy egress và shared configuration là năm việc nên xử lý gọn trong một project nhỏ trước. Làm tốt từ đầu sẽ giảm đáng kể thời gian troubleshooting lặp đi lặp lại về sau.