Có một tùy chọn để cài đặt một gói npm mà không phụ thuộc?


20

Tôi đang cân nhắc sửa đổi gói npm với nhiều phụ thuộc. Như vậy npm install -g .phải mất một thời gian dài để thực hiện. Tôi có các tùy chọn khác ngoài việc loại bỏ các phụ thuộc khỏi gói.json không?

Câu trả lời:



7

Nhìn qua các tài liệu dường như không có tùy chọn nào ngoài công --no-optionaltắc.

Chưa được kiểm tra / chưa được xác nhận

Câu hỏi và trả lời SO này có tiêu đề: npm installcài đặt tất cả các phụ thuộc của dự án của tôi qua mạng, ngay cả khi chúng đã được cài đặt hoặc có sẵn từ bộ đệm dường như ngụ ý có một --skip-installedcông tắc. Nhưng các tài liệu không làm cho bất kỳ tham chiếu đến chuyển đổi này.


7

Nếu bạn đang tự phát triển điều đó node_module, đừng lãng phí thời gian của bạn vào npm installs, thay vào đó hãy sử dụng npm link.

Nói tóm lại, bạn tạo một liên kết tượng trưng đến thư mục mô-đun của mình trên thư mục toàn cầu thuộc sở hữu npm, và sau đó trong thư mục ứng dụng của bạn, bạn yêu cầu npm sử dụng thư mục được liên kết tượng trưng đó.

Điều này làm cho những thay đổi bạn thực hiện trong thư mục mô-đun sẽ được phản ánh ngay lập tức trong ứng dụng của bạn.

Dưới đây là các bước chính (được sao chép từ hướng dẫn được liên kết bên dưới, đảm bảo đọc hướng dẫn cho các vấn đề quan trọng):

  1. cd để src/my_module
  2. Chạy " npm link". Điều này tạo ra một liên kết tượng trưng từ một thư mục toàn cầu đến src/my_modulethư mục.
  3. cd để src/my_app
  4. Chạy đi npm link my_module. Liên kết node_modules/my_modulenày trong dự án cụ thể này đến thư mục toàn cầu, để requirecác cuộc gọi tìm kiếm my_moduletải nó từ thư mục phát triển của bạn , src/my_module.

Xem hướng dẫn này: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears Và các tài liệu chính thức cho npm link: https://docs.npmjs.com/cli/link


Không thay đổi câu trả lời được chấp nhận của tôi, nhưng nâng cao vì điều này hữu ích cho trường hợp cụ thể của tôi.
Justin thân mến

4

Tính năng này đã được yêu cầu trở lại vào năm 2010, nhưng không may đã bị bỏ qua và đóng: https://github.com/npm/npm/issues/340

Tôi đã thử một loạt các tùy chọn và cuối cùng tìm thấy một giải pháp khá đơn giản - đổi tên pack.json thành một cái khác trước khi cài đặt doint npm, sau đó hoàn nguyên lại sau khi cài đặt kết thúc:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

2
Wow, đó có phải là cách duy nhất không? Điều đó thật nực cười, nên có một lá cờ --ignore-packagehoặc một cái gì đó.
JacobTheDev

2
Giải pháp này là tốt và cho đến nay nó có thể là giải pháp tốt nhất cho câu hỏi của tôi: stackoverflow.com/questions/53532845/
Lần
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.