首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Paket 介绍

Paket 介绍

作者头像
张善友
发布2018-01-19 11:21:30
1K0
发布2018-01-19 11:21:30
举报
文章被收录于专栏:张善友的专栏张善友的专栏

在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目。

问题来了,为什么要替换NuGet?

Paket 是一个用于 .NET 和 Mono 平台的包管理器,灵感来自于 Bundler。可与 NuGet 一起工作,可精确控制项目中所引用的各种软件包。所以可以肯定的是你想知道,"为什么我们需要更换掉NuGet?" Packet本质上是只需要NuGet的最基本的功能,并增加了一些额外的并且是不错的功能。

一方面,Paket使得你能够精确控制你的项目的包依赖所发生的事情。如果不同的包引用了不同版本的同一个依赖包,比如说log4net,他们之间没有更多的冲突。

另一个很酷的事情是Paket可以引用GitHub上单个的文件http://fsprojects.github.io/Paket/github-dependencies.html ,也就是和Github可以很好的协作。

那么我已经在使用NuGet了呢?

一点问题都没有!Paket有一个漂亮的转换工具convert-from-nuget 辅助你完成这个转换。

那么我们怎么开始使用呢,跟我来。

首先要在你解决方案的根目录下包含一个.paket文件夹,里面包含用于安装和恢复包的工具paket.exe。

文件夹和文件内容都在那里后,需要在解决方案的根目录下创建一个paket.dependencies文件,内容类似于:

source https://nuget.org/api/v2 
nuget FSharp.Core ~> 3.1.2 
nuget FSharp.Formatting 
nuget Nuget.CommandLine 
nuget FAKE 
nuget SourceLink.Fake 
nuget IKVM ~> 8.0.5 
nuget NUnit 
nuget NUnit.Runners 
github fsharp/FAKE modules/Octokit/Octokit.fsx 

此文件告知PAKET的来源是(NuGet或GitHub上)的包/文件名,它可以从这些源下载。

那么你可以使用一个build.cmd文件或像下面手动执行paket.exe。

\.paket\paket.exe install

这将创建一个packages文件夹,​​其中将包括所有的库。

从这里,你可以随时手动引用你想要的库,但PAKET使这个工作更容易容易。在每个有一个project文件的文件夹位置有个文件paket.references文件,创建包含要引用的库。

FSharp.Core

NUnit

NUnit.Runners

需要注意的是FAKE是不是在文件中,因为它不会引用。该paket.references文件将只添加到项目中如果库是在lib文件夹。手动引用也不是问题,因为它可以在build.fsx文件中手动引用的。为了让PAKET使用引用文件,只需--hard开关重新运行安装命令

\.paket\paket.exe install –hard

这将检查paket.references 文件并用这个文件来自动引用该项目相对应的库。

这里还有一个 Visual Studio的插件工具 https://github.com/fsprojects/Paket.VisualStudio  ,不过只支持Visual studio 2013.

希望这个简要介绍帮助您开始使用比以前的包管理更容易的Paket工具。不过这仍然是一个年轻,非常活跃的项目,期待你的关注。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档