Đường dẫn Azure – loại trừ các gói ‘đã được cài đặt’ trong bản dựng góc khỏi lệnh ‘npm install’

lập trình


Vấn đề cho – Đường dẫn Azure Build cho một dự án góc cạnh.
Tôi phải chạy công việc cài đặt npm mỗi khi dự án góc xây dựng với yêu cầu kéo mới.

Kịch bản – Tôi đã tùy chỉnh 2 gói theo yêu cầu của dự án. Tôi không muốn ghi đè các gói này mỗi khi có lệnh cài đặt npm. Một khi nó được ghi đè bằng tay thì không nên chạm vào.

Có cách nào để bỏ qua một gói cụ thể trong pack.json sau khi nó được cài đặt không?
nói cách khác, chỉ có thể cài đặt gói npm nếu nó chưa được cài đặt?
Mong nhận được sự hướng dẫn từ chuyên gia 🙂

Những gì tôi đã thử:

1. Loại trừ các gói này khỏi tệp pack.json

Sự cố với giải pháp này – Nếu tôi phải triển khai ứng dụng của mình trên hệ thống mới, các gói đó sẽ không bao giờ được cài đặt.

2. Tôi đã thêm các gói này vào một thư mục khác và cố gắng tham chiếu các gói từ đó. Nó không hoạt động như mong đợi.

Giải pháp 2

Bạn có thể thử cách sau;

Sử dụng npm-shrinkwrap.json

1. Tùy chỉnh và cài đặt gói: Ban đầu hãy cài đặt và tùy chỉnh các gói của bạn nếu cần.
2. Tạo npm-shrinkwrap.json: Chạy npm shrinkwrap trong thư mục dự án của bạn. Lệnh này tạo tệp npm-shrinkwrap.json để khóa phiên bản của tất cả các gói đã cài đặt và phần phụ thuộc của chúng.
3. Chỉnh sửa npm-shrinkwrap.json: Trong npm-shrinkwrap.json, bạn có thể chỉnh sửa thủ công các mục nhập cho các gói tùy chỉnh của mình để trỏ đến các phiên bản cụ thể hoặc bản sao cục bộ của bạn. Bằng cách này, bất cứ khi nào cài đặt npm chạy, nó sẽ tôn trọng các phiên bản và nguồn được chỉ định trong npm-shrinkwrap.json, bỏ qua mọi cập nhật hoặc thay đổi thường được tìm nạp từ sổ đăng ký npm.

Nếu cách đó không hiệu quả, hãy thử với đường dẫn cục bộ:

Tận dụng gói-lock.json với Đường dẫn cục bộ

1. Cài đặt gói tùy chỉnh cục bộ: Đặt các gói tùy chỉnh của bạn vào một thư mục đã biết trong dự án của bạn hoặc nơi nào đó mà dự án của bạn có thể truy cập được.
2. Sửa đổi package.json: Tham chiếu các gói cục bộ này trong package.json của bạn bằng cách chỉ định đường dẫn của chúng thay vì số phiên bản.

JSON
"dependencies": {
  "custom-package": "file:./path/to/custom-package",
}

3.Commit package-lock.json: Sau khi chạy npm install, hãy đảm bảo rằng package-lock.json của bạn được cập nhật và chuyển tệp này vào kho lưu trữ của bạn. package-lock.json đảm bảo rằng cấu trúc chính xác của thư mục node_modules của bạn được sao chép trong các bản cài đặt trong tương lai, bao gồm cả việc sử dụng các gói cục bộ.

Tôi khuyên bạn nên sử dụng phương pháp đầu tiên, nếu cách đó không hiệu quả, bạn có thể ghi đè các gói.

Sử dụng .npmrc để ghi đè vị trí gói

Định cấu hình .npmrc: Bạn có thể sử dụng tệp .npmrc để ghi đè vị trí nguồn của các gói cụ thể. Tính năng này nâng cao hơn một chút và thường được sử dụng để chuyển đổi giữa các cơ quan đăng ký khác nhau, nhưng bạn có thể chỉ định đường dẫn cục bộ hoặc URL tùy chỉnh cho gói của mình.

Tuy nhiên, cách tiếp cận này yêu cầu các gói của bạn phải có cấu trúc và có thể được cài đặt theo cách tương tự như các gói được lưu trữ trên cơ quan đăng ký npm, điều này có thể liên quan đến việc thiết lập bổ sung cho các gói tùy chỉnh của bạn.

コメント

タイトルとURLをコピーしました