軟體工程師的小事:到底要不要 Close

上傳既有的 Nuget 套件到自行架設的 Nuget Server

Nuget Server 架設完成後,接下來將既有 Nuget Package 透過 Nuget 工具上傳到 Nuget Server。

前一篇文章:架設私有 Nuget Server

文章將使用命令提示字元的方式將既有的 Newtonsoft.Json 套件上傳到自行架設的 Nuget Server。

Nuget Server 資訊
作業系統 Windows Server 2016 Standard
IP位址 192.168.0.95
繫結網址 nuget.txstudio.tw
ApiKey txstudio
PackagesPath ~/Packages
取得 Newtonsoft.Json 套件

前往 Newtonsoft.Json 套件在 Nuget 網站的網頁。

json net in nuget

在 Info 內容中點選「Manual download」手動下載套件檔案。

download nuget package
save json.net package file

Nuget 套件檔案副檔名為 (*.nupkg),待會會將此檔案上傳到自行架設的 Nuget Server。

json.net nupkg file
下載 Nuget 工具

從 Nuget 網站中下載 Nuget 工具,此工具在「命令提示模式」操作。

browse nuget download site

選擇 Windows x86 Commandline 的 v4.3.0 版本。

download nuget commandline application

將下載的 nuget.exe 檔案放到指定路徑中,此情境與 Newtonsoft.Json 套件放在相同資料夾路徑下。

nuget applicaiton name
將套件上傳到自行架設的 Nuget Server

先前步驟將 Nuget Server 網站繫結指定網址,在用戶端電腦設定 host 檔案。

host configuration in  client

Nuget Server 儲存套件資料夾沒有任何套件存在。

package folder content in nuget server

開啟命令提示字元並檢視 nuget 工具資訊。

nuget.exe help
diplay nuget tool info

使用 nuget add 指令將 Newtonsoft.Json 套件上傳到 Nuget Server。

「txstudio」為設定於 Nuget.Server web.config 檔的 apikey
nuget.exe push newtonsoft.json.10.0.3.nupkg txstudio -src http://nuget.txstudio.tw
publish json.net package to nuget.server

上傳成功後,在 Nuget Server 套件資料夾中就會出現 Newtonsoft.Json 套件資料夾。

json.net folder in package folder

請確認 Nuget Server 儲存套件的資料夾權限,必須要有寫入權限。

若儲存套件資料夾沒有寫入權限的話會回傳 500 錯誤。

return 500 error if permission deny

儲存套件資料夾設定之權限:

package folder permission
設定 Visual Studio 套件管理員

套件上傳完成後要來變更 Visual Studio 套件參考指向自行架設的 Nuget Server。

在「工具」「NuGet 封裝管理員」開啟「套件管理員設定」。

nuget manager configuration

在「套件來源」點選「新增」。

create nuget package source

變更新增的套件名稱與來源路徑。

select new package source

設定完成後點選「更新」按鈕,點選「確定」關閉設定。

config package source

新增一個主控台應用程式專案,並開啟「管理 Nuget 套件」視窗。切換「套件來源」為剛剛新增的「套件來源」。

change nuget source in manager nuget package

在瀏覽頁簽中可以檢視到剛剛手動新增的 Newtonsoft.Json 套件。

get newtonsoft.json package

成功將既有套件新增到自行架設的 Nuget Server。

參考資料

留言