Cập nhật phiên bản nút trong Visual Studio 2017


91

Có ai biết về một cách bị xử phạt để cập nhật Node trong Visual Studio 2017 không? Tôi đã thiết lập Node 6 trên PC phát triển của mình nhưng VS2017 dường như đi kèm với một bản sao đóng gói của Node 5, có nghĩa là chạy npm installtrên dòng lệnh của tôi sẽ thiết lập các gói khác nhau như node-sassvới các ràng buộc cho Node 6, vì vậy khi tôi chạy gulp các nhiệm vụ từ VS Task Runner, mọi thứ bị rơi xuống do các phiên bản không khớp.

Tôi đã tìm thấy cài đặt VS Node tại C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalnhưng tôi hơi ngần ngại chỉ cần hack và thay thế nó. Có ai có kinh nghiệm nâng cấp cái này không? Tôi biết mình có thể đồng bộ hóa bằng cách hạ cấp phiên bản trên PC của mình nhưng điều đó có vẻ ngược.


1
Kết quả hàng đầu trên Google cho 'phiên bản nút studio trực quan' có vẻ như nó có thể làm được điều đó: ryanhayes.net/…
Joe Clay

2
@JoeClay dành cho VS2015, mọi thứ đã thay đổi trong VS2017. Tôi đã dùng thử Google ...
Henry Wilson

3
À, tôi vừa mở VS, tùy chọn đã di chuyển ...
Joe Clay

Đây github.com/aspnet/JavaScriptServices/issues/1686 cũng liên quan mà phương tiện nodejs vị trí phải có mặt trong biến Path hệ thống của.
Atiq Rahman

Câu trả lời:


159

Đi đến:

Công cụ> Tùy chọn> Dự án và giải pháp> Quản lý gói web> Công cụ web bên ngoài

Sau đó, bạn cần thêm thư mục cài đặt Node của mình vào đầu danh sách, như sau:

ảnh chụp màn hình


Không chắc điều này có tác dụng gì, vì nó chưa cập nhật bất cứ điều gì.
drawid

34
Là một thay thế mà làm việc cho tôi, chỉ cần bump $ (PATH) lên một, vì vậy nó supercedes thư mục Web \ External (nút giả định đã được cài đặt trên con đường môi trường của bạn)
Khoan hồng

Của tôi đã hoạt động bằng cách thực hiện những gì câu trả lời nêu. Tuy nhiên, đây là lần thứ hai vấn đề này xảy ra, lần đầu tiên nó được giải quyết bằng cách sử dụng bình luận của @ Leniency. :)
Imdad

1
"siêu trước" hoặc có thể "đi trước"
N73k

@Leniency, điều này có tác dụng đối với tôi - một phần mở rộng nút (NPM Task Runner của Mads) đang sử dụng một phiên bản nút (VS) khác và không thành công - cảm ơn!
Michael Harper

52

Bạn không cần thêm thư mục cài đặt Node mới, Node tồn tại trong PATH. Lưu ý cách $ (PATH) nằm bên dưới đường dẫn nội bộ $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Để sử dụng biến môi trường PATH toàn cục trước đường dẫn nội bộ, bạn chỉ có thể sử dụng các mũi tên ở trên cùng bên phải để thay đổi thứ tự.

Đây là giao diện khi PATH toàn cục được tìm kiếm trước PATH nội bộ và do đó sẽ khiến Visual Studio sử dụng các phiên bản công cụ của riêng bạn. nhập mô tả hình ảnh ở đây


Cảm ơn bạn. Điều này hoạt động tốt và tôi thích nó hơn là thêm thư mục nodejs.
Tim Turner

Điều này đã làm việc cho tôi. Một số gói đã kết thúc trước '$ (PATH)', nhưng khi tôi chuyển '$ (PATH)' xuống bên dưới '. \ Node_modules \ .bin' gulp bắt đầu hoạt động trở lại và tôi đã khôi phục lại các biểu tượng ứng dụng web của mình :)
Phil

0

Đối với tôi, vấn đề hóa ra là có một node.exetệp cục bộ trong cùng thư mục chứa csprojtệp đó, cùng với một node.exe.configtệp.

Tôi đã có một sự kiện sau khi xây dựng sẽ gọi gulpđể thực hiện một số công việc khác và VS2017 sẽ sử dụng node.exetệp cục bộ thay vì những gì được liệt kê trong $(PATH)biến của tôi . Đây là phiên bản cũ hơn của nút mà tôi không muốn sử dụng, vì vậy giải pháp cho tôi là xóa cục bộ node.exeđể cái được liệt kê trong $(PATH)sẽ được sử dụng hoặc nâng cấp node.exetệp cục bộ nếu node.exe.configthực sự cần thiết.

Tôi chỉ muốn thêm điều này ở đây trong trường hợp ai đó khác gặp phải vấn đề tương tự.


0

Có vẻ như các tùy chọn trong

Công cụ> Tùy chọn> Dự án và giải pháp> Quản lý gói web> Công cụ web bên ngoài

không có tác dụng. Tuy nhiên, có thể đặt phiên bản Node thông qua

Dự án> Thuộc tính

Dự án> ảnh chụp màn hình thuộc tính

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.