Cách buộc sử dụng sợi hoặc NPM

Trong bài đăng ngắn này, tôi sẽ chỉ cho bạn cách ngăn chặn việc sử dụng npm hoặc sợi, tùy thuộc vào nhu cầu của bạn. Bắt đầu nào!

Chỉnh sửa .npmrc

Bạn có thể không có tệp này trong cơ sở mã của mình. Nếu đúng như vậy, hãy tạo tệp này trong thư mục gốc của ứng dụng của bạn.

Nó cho phép chúng tôi chỉ định cấu hình trình quản lý gói và nó được sử dụng bởi cả npmsợi .

Tệp của bạn .npmrcphải có thuộc engine-stricttính được đánh dấu là true.

//.npmrc file engine-strict = true

Tùy chọn này yêu cầu trình quản lý gói sử dụng phiên bản động cơ mà chúng tôi đã chỉ định trong package.jsontệp.

Chỉnh sửa package.json

Bên trong package.jsontệp của bạn, bạn nên thêm enginesphần nếu bạn hiện chưa có.

 //package.json { ... "engines": { "npm": "please-use-yarn", "yarn": ">= 1.19.1" }, ... }

Trong đoạn mã trên, package.jsontệp sử dụng phiên bản yarn1.19.1 trở lên.

Nhưng npmchúng tôi chỉ định một phiên bản không tồn tại.

Bằng cách này, chúng tôi đảm bảo rằng khi ai đó cố gắng sử dụng npmthay thế yarn, họ sẽ nhận được lỗi xuất ra ' please-use-yarn'.

Đang chạy cài đặt npm

Khi bạn đã thực hiện các thay đổi trên, hãy thử chạy npm install.

Bạn sẽ nhận được lỗi khiến bạn không thể sử dụng npm.

 npm ERR! code ENOTSUP npm ERR! notsup Unsupported engine for [email protected]: wanted: {"npm":"please-use-yarn","yarn":">= 1.19.1"} (current: {"node":"12.16.3","npm":"6.14.4"}) npm ERR! notsup Not compatible with your version of node/npm: [email protected] npm ERR! notsup Not compatible with your version of node/npm: [email protected] npm ERR! notsup Required: {"npm":"please-use-yarn","yarn":">= 1.19.1"} npm ERR! notsup Actual: {"npm":"6.14.4","node":"12.16.3"} npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\YourUser\AppData\Roaming\npm-cache\_logs\2020-05-21T10_21_04_676Z-debug.log 

Tất nhiên, điều này có thể được thực hiện theo cách khác nếu bạn muốn ngăn chặn việc sử dụng yarn.

Phần kết luận

Nó khá đơn giản và dễ dàng để đảm bảo rằng chỉ một trình quản lý gói phải được sử dụng trong dự án của bạn.

Điều này sẽ làm giảm nguy cơ xảy ra lỗi do các nhà phát triển đang sử dụng các trình quản lý gói khác nhau và đó là một thực tiễn tốt để chuẩn hóa các quy tắc và quản lý mã hóa của dự án.

Bạn có thể liên hệ và hỏi tôi bất cứ điều gì trên Twitter, Facebook và trang web của tôi.