Làm cách nào để tắt khôi phục gói NPM trong Visual Studio 2015?


82

Khi tôi mở một dự án với package.json trong Visual Studio 2015, quá trình cài đặt npm sẽ tự động bắt đầu và VS không phản hồi cho đến khi quá trình cài đặt hoàn tất.

Tôi muốn tự mình chạy npm install từ dòng lệnh; làm cách nào để ngăn Visual Studio làm điều đó?

Câu trả lời:


76

Nếu bạn nâng cấp lên Visual Studio 2017 ('Phiên bản Cộng đồng' miễn phí cũng được) thì nhóm VS đã thêm một tùy chọn để dừng chạy npm khi một dự án được mở. Nó nằm trong Công cụ / Tùy chọn / Dự án và giải pháp / Quản lý gói web / Khôi phục gói. Bạn có thể tắt khôi phục NPM (và Bower) trên Project Open và trên package.json Lưu riêng.

Cũng lưu ý rằng đối với các loại dự án node.js (NTVS), chỉ có hành vi khôi phục gói tự động bị vô hiệu hóa hoàn toàn trong VS2017 hiện tại.

Chỉnh sửa: câu trả lời ở trên cũng áp dụng cho Visual Studio 2019. Các tùy chọn menu ở cùng một nơi, mặc dù hỗ trợ Bower đã không được dùng nữa.


Có một giải pháp lâu dài? Tôi đã áp dụng điều này, sau đó nâng cấp VS2019 và bùng nổ, NPM được kích hoạt trở lại
amartin1911

78

Thử đi:

  • Mở Công cụ -> Tùy chọn
  • Chọn Dự án và Giải pháp / Công cụ Web Bên ngoài
  • Bỏ chọn tất cả bốn đường dẫn
  • Bấm OK

Có vẻ như việc đóng giải pháp, v.v., không cần thiết. Chức năng NPM và Bower hiện đã bị vô hiệu hóa trong VS nhưng sẽ hoạt động tốt trên dòng lệnh (giả sử bạn đã cài đặt toàn cầu npm, bower, v.v.) Bạn có thể nhận được một số thông báo lỗi trong cửa sổ Đầu ra, nhưng không có lỗi hoặc cảnh báo xây dựng.

Để khôi phục hoạt động bình thường, hãy quay lại Công cụ web bên ngoài và nhấp vào "Đặt lại về mặc định" ở phía dưới bên phải.
Tôi chưa thử điều này với Publish - bạn có thể phải khôi phục mặc định để xuất bản thành công, hãy thử nếu bạn gặp lỗi tại thời điểm đó.


1
Mặc dù tôi gặp một số lỗi trong đầu ra, chẳng hạn như Task Runner Explorer không tìm thấy Gulp, v.v., tôi đoán điều này được mong đợi. Điều này chắc chắn thực hiện thủ thuật, cảm ơn :)
Geir Sagberg

28
Thật vô lý khi bạn không thể tắt tùy chọn này. :(
Sean Anderson

4
+1 VS đủ chậm mà không cần tích hợp git và npm. Tốt hơn nên sử dụng VS Code / Sublime / Webstorm cho các dự án liên quan đến JS.
cchamberlain

1
Sử dụng VS Community 2017 15.5.6. Điều này thực sự hoạt động, nhưng tôi đã phải khởi động lại Visual Studio để làm cho nó ngừng khôi phục gói npm.
rsenna

Có một giải pháp lâu dài? Tôi đã áp dụng điều này, sau đó nâng cấp VS2019 và bùng nổ, NPM được kích hoạt trở lại
amartin1911

4

Visual Studio 2015 Cập nhật 2 đã khắc phục sự cố này! Cài đặt Bản cập nhật 2 và bạn sẽ sẵn sàng.

Tải xuống trực tiếp: http://go.microsoft.com/fwlink/?LinkId=691129
Cập nhật 2 Ghi chú phát hành: https://www.visualstudio.com/news/releasenotes/vs2015-update2-vs

Chỉnh sửa : "đã sửa " có thể không hoàn toàn chính xác và có thể không hoàn toàn được sửa cho tất cả người dùng. Có lẽ chúng tôi có thể ghi lại những gì mọi người đang trải qua. Để làm rõ, kinh nghiệm của tôi như sau:

  • Trước Bản cập nhật 2, VS sẽ chạy 'npm install' mỗi khi tôi mở .sln, điều này rất khó đối phó.
  • Sau khi cập nhật 2, VS chạy 'cài đặt npm' trong một số trường hợp nhất định, điều này có thể chấp nhận được (theo kinh nghiệm của tôi.)

Theo kinh nghiệm của tôi, sau khi mở bản vá VS, khi mở .sln, chạy 'npm install' nếu thiếu bất kỳ thành phần phụ thuộc nào trong package.json trong thư mục node_modules (hoặc nếu chính thư mục bị thiếu.)

Bạn không thể tắt 'cài đặt npm', vì vậy 'đã sửa' có thể không hoàn toàn chính xác - tuy nhiên, nó không hoạt động trên mọi lần khởi chạy như trước, vì vậy tôi coi đây là một chiến thắng. Mọi người có thể xác nhận đây là hành vi hay chúng ta đang trải qua các hành vi khác nhau?


Mặc dù liên kết này có thể trả lời câu hỏi, nhưng tốt hơn hết bạn nên đưa các phần thiết yếu của câu trả lời vào đây và cung cấp liên kết để tham khảo. Các câu trả lời chỉ có liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Alessandro Cuttin

1
Liên kết không chứa câu trả lời, nó chỉ ở đó để tải xuống bản cập nhật phần mềm. Tôi đã thay đổi liên kết thành liên kết trực tiếp đến tải xuống, thay vì ghi chú cập nhật. Điều đó có thể chấp nhận được không?
Ashlin Allen

2
Tôi sẽ không gọi nó là cố định, họ làm cho màn hình ít có khả năng bị khóa hoặc gặp sự cố hơn, nhưng nếu bạn xử lý thủ công với npm, nó sẽ gặp khó khăn với tính năng tự động khôi phục và vẫn không có tùy chọn để tắt nó. .
npjohns

Tôi có Visual Studio 2015 Update 2 và nó vẫn cố chạy npm install và gulp. Tôi không chắc liệu điều này có khắc phục được sự cố hay không.
Jamie McCrindle

Tôi đã chỉnh sửa câu trả lời của mình, bạn cũng thấy nó chạy 'npm install' trong trường hợp cụ thể mà tôi đề cập hay nó đang chạy vào những lần khác? Đối với Gulp, tôi sẽ cố gắng tìm hiểu kỹ hơn ... thiết lập hiện tại của tôi đang sử dụng Webpack và VS chỉ chạy Webpack nếu tôi đã cấu hình Task Runner Explorer để làm như vậy. VS đang chạy Gulp ngay cả khi TRE không được cấu hình để chạy nó?
Ashlin Allen
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.