Câu hỏi NuGet Behind Proxy


Tôi chỉ ra rằng NuGet cho phép cấu hình cài đặt proxy từ phiên bản 1.4. Nhưng, tôi không thể tìm thấy bất kỳ ví dụ dòng lệnh nào.

Tôi đang cố gắng để chạy một số xây dựng và NuGet không thể kết nối.

Làm thế nào để cấu hình các thiết lập proxy trong dòng lệnh?


76
2018-02-10 17:34


gốc


Vì lợi ích của những người dùng khác gặp sự cố proxy: Bạn sẽ biết nó có thể là proxy nếu NuGet hiển thị thông báo: "Tên từ xa không thể được giải quyết: 'nuget.org'" - pduncan
Hãy cẩn thận để kiểm tra http_proxy và https_proxy biến môi trường cũng như cài đặt proxy hệ thống của bạn - Colonel Panic
Có một vấn đề cho nó bây giờ trên github: github.com/NuGet/Home/issues/458 - thekip


Các câu trả lời:


Đây là những gì tôi đã làm để có được điều này làm việc với proxy công ty của tôi sử dụng xác thực NTLM. Tôi đã tải xuống NuGet.exe và sau đó chạy các lệnh sau (mà tôi tìm thấy trong các chú thích cuộc thảo luận này trên CodePlex):

nuget.exe config -set http_proxy=http://my.proxy.address:port
nuget.exe config -set http_proxy.user=mydomain\myUserName
nuget.exe config -set http_proxy.password=mySuperSecretPassword

Điều này đặt sau đây trong của tôi NuGet.config Đặt vị trí tại %appdata%\NuGet (mà bản đồ để C: \ Users \ myUserName \ AppData \ Roaming trên máy tính Windows 7 của tôi):

<configuration>
    <!-- stuff -->
    <config>
        <add key="http_proxy" value="http://my.proxy.address:port" />
        <add key="http_proxy.user" value="mydomain\myUserName" />
        <add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" />
    </config>
    <!-- stuff -->
</configuration>

Ngẫu nhiên, điều này cũng cố định vấn đề của tôi với NuGet chỉ làm việc lần đầu tiên tôi nhấn nguồn gói trong Visual Studio.

Lưu ý rằng một số người đã thử cách tiếp cận này đã báo cáo qua các nhận xét rằng họ đã có thể bỏ qua việc đặt http_proxy.password từ dòng lệnh, hoặc xóa nó sau khi thực tế từ tập tin cấu hình, và vẫn có thể có chức năng NuGet trên proxy.

Tuy nhiên, nếu bạn thấy rằng bạn phải chỉ định mật khẩu của bạn trong tệp cấu hình NuGet, hãy nhớ rằng bạn phải cập nhật mật khẩu đã lưu trữ trong cấu hình NuGet từ dòng lệnh khi bạn thay đổi đăng nhập mạng của mình, nếu thông tin xác thực proxy của bạn cũng là thông tin đăng nhập mạng của bạn.


147
2018-03-17 17:34



Trong trường hợp của tôi, tôi bỏ qua http_proxy.password chính là hoàn toàn và dường như rất vui khi truyền qua thông tin đăng nhập AD được xác thực của tôi. Điều này tiết kiệm sự cần thiết phải thay đổi mật khẩu thường xuyên. - Sir Crispalot
Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn, cảm ơn bạn , cảm ơn bạn.... - lmsasu
Cảnh báo Hãy cẩn thận khi bạn sử dụng cấu hình được gợi ý bởi arcain. Hãy chắc chắn rằng bạn thay đổi mật khẩu trong tập tin cấu hình khi bạn thay đổi mật khẩu Windows của bạn. Tài khoản Windows của tôi bị khóa ngẫu nhiên sau khi thay đổi mật khẩu theo chính sách của công ty. Tôi mất vài giờ để tìm ra rằng mục cấu hình của nó gây ra toàn bộ vấn đề này. Tùy chọn tốt nhất là chỉ cần xóa http_proxy.password chính như đề xuất bởi @Sir Crispalot - A J Qarshi
Hãy thử những gì Sir Crispalot đã đề cập và xóa khóa http_proxy.password. Điều đó đã làm việc cho một số người và cho phép họ tránh phải thay đổi mật khẩu trong tệp cấu hình NuGet. - arcain
Một chiến thắng ở đây - bằng cách sử dụng các thiết lập này và bỏ qua các khóa mật khẩu làm việc cho tôi đằng sau proxy công ty của tôi với xác thực NTLM. - Cᴏʀʏ


Có lẽ bạn có thể thử điều này với devenv.exe.config

<system.net>
    <defaultProxy useDefaultCredentials="true" enabled="true">
        <proxy proxyaddress="http://proxyaddress" />
    </defaultProxy>
    <settings>
        <servicePointManager expect100Continue="false" />
        <ipv6 enabled="true"/>
    </settings>
</system.net>

Tôi tìm thấy nó từ Trình theo dõi vấn đề NuGet

Ngoài ra còn có những ý kiến ​​khác có giá trị về các vấn đề mạng NuGet +.


19
2018-02-28 14:13



nhưng điều này giả định devenve.exe (Visual Studio có nghĩa là) được cài đặt, mà không nên trong một máy chủ xây dựng - Kat Lim Ruiz
Tôi đã phải loại bỏ thiết lập này để làm cho nó hoạt động, để nó tuân theo các thiết lập proxy của IE. - Rosdi Kasim


Chỉ trong trường hợp bạn đang sử dụng phiên bản https của nuget (https://www.nuget.org), lưu ý rằng bạn phải đặt các giá trị bằng https.

  • https_proxy
  • https_proxy.user
  • https_proxy.password

8
2018-05-22 10:19



Mật khẩu https là văn bản thuần túy trong nuget.config nếu bạn làm theo hướng dẫn sử dụng arcains nhưng sử dụng https - dmce
Không phải để necro, nhưng điều này hoàn toàn cố định vấn đề của tôi. Cảm ơn! - Bcbury
Điều này đã khắc phục được sự cố của tôi, chi tiết hơn tại đây github.com/NuGet/Home/issues/5980. - jpierson
Cảm ơn bạn đã chỉ ra điều này, tôi đã rất thất vọng. - MarkyMarksFunkyBunch
Vì vậy, chúng tôi không thể sử dụng 'http' để đặt địa chỉ proxy nếu chúng tôi đang sử dụng phiên bản https của nuget? - coder kemp


Tôi có thể sai nhưng tôi nghĩ nó đã sử dụng các thiết lập proxy của IE.

Nếu nó thấy rằng bạn cần phải đăng nhập nó sẽ mở ra một hộp thoại và yêu cầu bạn làm như vậy (đăng nhập đó là).

Vui lòng xem mô tả về điều này tại đây -> http://docs.nuget.org/docs/release-notes/nuget-1.5 


6
2018-02-28 14:06



Nó - vấn đề với cách tiếp cận này phát sinh khi chính sách nhóm của công ty bạn liên tục hoàn nguyên cài đặt IE của bạn thành những người không hoạt động với Nuget, như ở nơi làm việc của tôi - Xcalibur


Đối với bất kỳ ai sử dụng VS2015: Tôi đã gặp phải lỗi "Yêu cầu xác thực proxy 407", điều này đã phá vỡ bản dựng của tôi. Sau một vài giờ điều tra, nó chỉ ra MSBuild đã không gửi thông tin đăng nhập khi cố gắng để tải về Nuget như là một phần của mục tiêu 'DownloadNuGet'. Giải pháp là thêm XML sau vào C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe.config bên trong <configuration> thành phần:

<system.net>
            <defaultProxy useDefaultCredentials="true">
            </defaultProxy>
</system.net>

4
2018-04-11 17:45



Tuyệt vời, làm việc cho tôi, tốt đẹp và đơn giản, cảm ơn. - DaveInCaz


Có lẽ điều này giúp người khác. Đối với tôi giải pháp là mở cài đặt NuGet trên Visual Studio (2015/2017) và thêm URL nguồn cấp dữ liệu mới: http://www.nuget.org/api/v2/.

Tôi không phải thay đổi bất kỳ cài đặt liên quan đến proxy nào.


2
2018-03-17 18:35





Một hương vị khác cho cùng một "proxy cho nuget": cách khác bạn có thể thiết lập các thiết lập proug nuget của bạn để kết nối thông qua người làm biếng. Dưới đây cmd sẽ lưu cài đặt proxy trong tệp cấu hình nuget mặc định cho người dùng ở% APPDATA% \ NuGet \ NuGet.Config

Cấu hình nuget -Set HTTP_PROXY =http://127.0.0.1:8888

Bất cứ khi nào bạn cần nuget để tiếp cận với internet, chỉ cần mở Fiddler, asumming bạn có fiddler nghe trên cổng mặc định 8888.

Cấu hình này không nhạy cảm với thay đổi passwork vì fiddler sẽ giải quyết mọi xác thực với proxy luồng lên cho bạn.


1
2017-07-30 14:00





Chỉ là một bổ sung nhỏ ...

Nếu nó hoạt động cho bạn để chỉ cung cấp các thiết lập http_proxy và không phải tên người dùng và mật khẩu tôi khuyên bạn nên đặt các thiết lập proxy trong một dự án tập tin nuget.config địa phương và cam kết nó để kiểm soát nguồn. Bằng cách đó, tất cả các thành viên trong nhóm đều có cùng cài đặt.

Tạo một sản phẩm nào. \ Nuget.config

   <?xml version="1.0" encoding="utf-8"?>
   <configuration>
   </configuration>

Sau đó:

   nuget config -Set http_proxy="http://myproxy.example.com:8080" -ConfigFile .\Nuget.Config

Và cuối cùng cam kết tệp dự án Nuget.config cục bộ mới của bạn.


1
2017-07-31 11:51





Thử điều này. Về cơ bản, kết nối có thể thất bại nếu hệ thống của bạn không tin cậy chứng chỉ nuget.


0
2017-12-06 15:49





Ngoài các gợi ý từ @arcain tôi đã phải thêm địa chỉ Mạng Giao hàng Nội dung Windows Azure sau vào danh sách trắng của máy chủ proxy của chúng tôi:

.msecnd.net

0
2017-07-07 21:38





Giải pháp trên bởi @arcain Plus dưới đây đã giúp tôi giải quyết vấn đề

  1. Sửa đổi "nguồn gói" trong cài đặt trình quản lý gói của Nuget để kiểm tra hộp kiểm để sử dụng cài đặt nuget.org đã giải quyết được sự cố của tôi.

  2. Tôi cũng đã thay đổi để sử dụng (nuget.org) như là sự lựa chọn đầu tiên của nguồn gói
    Tôi đã bỏ chọn các nguồn gói của công ty để đảm bảo nuget luôn được chọn từ các nguồn toàn cầu.


0
2017-11-08 03:21