Cách xử lý lỗi xây dựng lại Node-Gyp trên Mac (04.26.24)

node-gyp là một công cụ tiện lợi cho phép các nhà phát triển biên dịch các mô-đun bổ trợ Node gốc trên nhiều nền tảng. Nó rất phổ biến và được sử dụng rộng rãi ngày nay, vì vậy nó thường được bao gồm như một phần phụ thuộc cho hầu hết các gói NPM.

Trên hầu hết các hệ điều hành, node-gyp không gây ra bất kỳ sự cố nào. Việc cài đặt node-gyp và phần còn lại của các gói NPM thường hoạt động trơn tru và hiệu quả. Tuy nhiên, đây không phải là trường hợp cho tất cả người dùng. Một số nhà phát triển báo cáo đã gặp sự cố khi xây dựng lại node-gyp trên macOS, dẫn đến trải nghiệm kém xuất sắc cho các nhà phát triển bị ảnh hưởng. Lỗi này cũng dẫn đến vô số cạm bẫy và tạo ra nhiều cách để mọi thứ diễn ra không như ý muốn.

Vấn đề này không phải là một cái gì đó mới. Các nhà phát triển đang sử dụng các phiên bản macOS cũ hơn đã gặp phải lỗi này trước đây. Với việc phát hành macOS Catalina, một số nhà phát triển cũng báo cáo rằng việc xây dựng lại node-gyp không thành công trên máy Mac sau khi nâng cấp lên phiên bản macOS mới. Lỗi này đã ngăn các nhà phát triển cài đặt các gói node-gyp mà họ cần.

Nếu bạn gặp phải lỗi này, bạn sẽ hiểu mức độ khó chịu của việc xây dựng lại node-gyp không thành công trên máy Mac. Bạn không thể tiếp tục phát triển ứng dụng hoặc phần mềm của mình trừ khi bạn sửa được lỗi này. May mắn thay, chúng tôi đã làm tất cả công việc cho bạn. Nếu bạn cảm thấy không thể tiếp tục dự án của mình vì lỗi này, bạn có thể thử bất kỳ giải pháp nào được liệt kê bên dưới để giải quyết nó.

Node-Gyp là gì?

node-gyp là một công cụ được sử dụng để biên dịch các Addon Node.js, là các Mô-đun Node.js nguyên bản được viết bằng C hoặc C ++. Các mô-đun này cần được biên dịch trên máy của bạn bằng một công cụ như node-gyp. Node-gyp hoạt động trên Windows, macOS và Linux.

Node-gyp thường dễ sử dụng vì giao diện nhất quán của nó. Bạn cũng có thể sử dụng các lệnh tương tự để xây dựng hoặc xây dựng lại mô-đun của mình trên các nền tảng khác nhau. Node-gyp cũng hỗ trợ nhiều phiên bản đích của Node.

Nếu bạn gặp lỗi npm gyp trên Mojave hoặc các phiên bản macOS trước đó, bạn cần kiểm tra kỹ các yêu cầu để node-gyp hoạt động.

Dưới đây là các yêu cầu bạn cần cài đặt để node-gyp hoạt động trên macOS:

  • Python v2.7, v3.5, v3.6 hoặc v3. 7
  • Xcode - tiện ích cho phép các nhà phát triển tạo ứng dụng trên macOS, iOS và iPadOS.

Bạn cũng cần cài đặt đúng phiên bản của Dòng lệnh Xcode Công cụ, là một phần của bộ công cụ và thư viện phát triển phần mềm của XCode.

Để cài đặt Công cụ dòng lệnh Xcode, hãy làm theo hướng dẫn bên dưới:

  • Khởi động Xcode trên máy Mac của bạn.
  • Chọn Tùy chọn từ menu Xcode.
  • Trong bảng điều khiển Chung , hãy nhấp vào Tải xuống .
  • Khi cửa sổ Tải xuống mở ra, nhấp vào tab Các thành phần .
  • Nhấp vào nút Cài đặt bên cạnh Công cụ Dòng lệnh.
  • Đăng nhập bằng tài khoản Nhà phát triển Apple của bạn để hoàn tất quá trình cài đặt.
  • Nếu bạn đang chạy macOS Catalina, bạn có thể tải xuống phiên bản thích hợp của Công cụ dòng lệnh cho Xcode cho phiên bản Catalina của bạn từ đây. Đối với macOS 10.15.3, tên tệp phải là Command_Line_Tools_for_Xcode_11.3.1.dmg. Khi bạn đã cài đặt các thành phần chính xác, bạn sẽ có thể xây dựng thành công bằng cách sử dụng node-gyp. Nếu bạn gặp lỗi xây dựng lại nút-gyp không thành công trên máy Mac, bạn cần xem lại các thành phần này để tìm ra lỗi.

    Cách giải quyết lỗi xây dựng lại nút-gyp

    Cài đặt mô-đun nút là một quá trình dễ dàng. Bạn chỉ cần chạy các lệnh cụ thể và bạn có thể thực hiện tốt. Nếu gặp lỗi xây dựng lại node-gyp trên Mac, bạn cần quay lại để tìm hiểu điều gì đã xảy ra.

    Nhưng trước khi thực hiện, đây là một số bước khắc phục sự cố cơ bản mà bạn nên thử:

  • Khởi động lại máy tính của bạn để loại bỏ mọi lỗi tạm thời có thể ảnh hưởng đến hệ thống của bạn.
  • Đóng tất cả các ứng dụng không cần thiết để giải phóng các bản ghi trên máy tính của bạn.
  • Tạm thời tắt phần mềm bảo mật của bạn, chẳng hạn như chương trình chống vi-rút hoặc phần mềm độc hại.
  • Dọn dẹp hệ thống của bạn bằng ứng dụng sửa chữa Mac .
  • Nếu bạn vẫn gặp lỗi xây dựng lại nút-gyp, hãy xem các giải pháp bên dưới và xem giải pháp nào phù hợp với bạn.

    Cách khắc phục # 1: Kiểm tra kỹ các Thành phần Bắt buộc.

    Điều đầu tiên bạn cần Khi bạn gặp lỗi npm gyp trên Mojave hoặc phiên bản macOS khác là kiểm tra kỹ các yêu cầu cài đặt của node-gyp. Như đã đề cập trong phần trên, bạn cần ba thành phần để nó hoạt động, đó là:

    • Python
    • Xcode
    • Công cụ dòng lệnh Xcode

    Đừng quên cài đặt ngôn ngữ C và C ++, những ngôn ngữ này sẽ cần thiết để biên dịch các mô-đun. Nếu bất kỳ điều nào trong số này bị thiếu hoặc không hoạt động, bạn chắc chắn sẽ gặp phải lỗi xây dựng lại không thành công. Cài đặt lại thành phần bị thiếu hoặc bị lỗi sẽ giúp khắc phục sự cố.

    Cách khắc phục # 2: Cập nhật các thành phần Node-Gyp của bạn.

    Đôi khi việc cài đặt các thành phần này là không đủ. Bạn cần đảm bảo rằng mình đang sử dụng đúng phiên bản cho macOS của mình. Bạn có thể chọn giữa Python v2.7, v3.5, v3.6 hoặc v3.7, tùy thuộc vào phiên bản nào phù hợp với bạn. Đối với Xcode, bạn có thể tải xuống từ liên kết này. Bạn cũng cần cài đặt phiên bản node-gyp mới nhất để đề phòng.

    Khắc phục # 3: Thực hiện kiểm tra axit.

    Bạn có thể kiểm tra xem Công cụ dòng lệnh Xcode trên máy tính của mình đã được cài đặt đúng cách chưa và sẽ hoạt động với node-gyp, bạn có thể chạy kiểm tra axit bằng cách làm theo các bước sau:

  • Trên Xcode, chạy lệnh này:
    / usr / sbin / pkgutil –packages | grep CL
  • Nếu bạn thấy com.apple.pkg.CLTools_Executables như được liệt kê, thì bạn sẽ không gặp sự cố. Nếu không, thì quá trình kiểm tra này đã không thành công và bạn cần cài đặt lại nó.
  • Chạy lệnh tiếp theo:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Bạn sẽ thấy phiên bản: 11.0.0 (hoặc mới hơn) như được liệt kê. Nếu không, thì thử nghiệm này cũng không thành công và bạn cần phải cài đặt lại.
  • Khắc phục # 4: Chuyển sang phiên bản Python khác.

    Nhiều nhà phát triển bị ảnh hưởng lưu ý rằng việc thay đổi phiên bản Python được sử dụng cho môi trường hoạt động đã giúp khắc phục sự cố cho họ. Điều này có liên quan đến khả năng tương thích giữa phiên bản macOS, phiên bản Node và phiên bản Python mà bạn đang sử dụng. Một số người dùng nhận thấy rằng các phiên bản Python cũ hơn, chẳng hạn như v2.7, ổn định hơn các phiên bản mới hơn. Thử nghiệm với các phiên bản khác nhau và xem phiên bản nào phù hợp với bạn.

    Tóm tắt

    Việc xây dựng lại node-gyp không thành công trên máy Mac có thể là một công việc phức tạp và việc tìm hiểu xem đã xảy ra lỗi có thể rất lãng phí thời gian. Vì vậy, nếu bạn gặp phải lỗi này, hãy tham khảo hướng dẫn ở trên để bạn biết chính xác phải làm gì để khắc phục lỗi.


    Video youtube.: Cách xử lý lỗi xây dựng lại Node-Gyp trên Mac

    04, 2024