离线下载解决Nuget程序包及其依赖包的方法
由于使用的一台电脑没有联网,但是需要asp.net core项目时使用到一个package,于是在nuget.org上手动下载。但是最后发现,依赖的包实在太多,手动下载太费时。于是晚上花时间研究了一下这个问题,随笔记录一下,作为个人分享。
解决这个问题,分为两个步骤:
- 利用nuget.exe在可联网的机器上下载需要安装的程序包。
- 将程序包拷贝到不联网机器,使用本地包源安装程序包。
步骤二可以参考我的这个帖子(https://www.cnblogs.com/sper/p/5697441.html)难点主要在第一步,具体方法如下:
(1)下载nuget命令行程序nuget.exe
打开https://www.nuget.org/downloads,下载Windows x86 Commandline程序。这是解决手动下载依赖包弊端的根本解决方法。
(2)下载需要使用的程序包。
运行cmd打开命令提示符窗口,执行> nuget install <package_name> -SolutionDirectory <save_path> -PackageSaveMode nupkg
根据自己的实际情况,分别替换<package_name>和<save_path>。如果需要下载指定的包版本,通过 -Version 选项来指定包的版本。
下载的程序包以及所有的依赖包将会存储在<save_path>目录的packages文件夹下。
(3)拷贝下载的nupkg数据包。
为了减少拷贝文件的大小,我们只需要.nupkg格式的文件。此时,通过一段python程序来集中这些程序包的nupkg文件。代码如下:
import os for pkg in os.listdir("packages"):
pkgpath = os.path.join("packages", pkg)
filename = "%s.nupkg" % pkg
fullpath = os.path.join(pkgpath, filename)
if os.path.isfile(fullpath):
open(filename, "wb").write(open(fullpath, "rb").read())
else:
print("%s is not exist." % filename)
else:
print("Copy finished.")
将Python文件放在<save_path>目录下并执行,原本packages下近300M的文件,现在只需要拷贝38M的.nupkg文件即可。
离线下载解决Nuget程序包及其依赖包的方法的更多相关文章
- 导入spark程序的maven依赖包时,无法导入,报错Unable to import maven project: See logs for details
问题:导入spark程序的maven依赖包时,无法导入,且报错:0:23 Unable to import maven project: See logs for details 2019-08-23 ...
- 查找Python包的依赖包(语句)
Window 10家庭中文版,Python 3.6.4, 今天看完了urllib3的官文(官方文档),因为没有具体使用过,所以,仍然是一知半解,但是,突然想知道 urllib3以及前面学习过的requ ...
- Android Studio导入第三方jar包或依赖工程的方法
Android Studio导入第三方jar包或依赖工程的方法 一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...
- 解决RPM包相互依赖的有效方法
出自:http://blog.csdn.net/kai27ks/article/details/7473683 前言:常用RPM的朋友们都知道,RPM简单易用,但是它的依赖关系是最头疼的!有时候比方说 ...
- Golang 解决 Iris 被墙的依赖包
使用 Golang 的 Iris web 框架时,用 go get github.com/kataras/iris 命令久久无法下载,最后还报一堆错误. 使用 GOPROXY 可解决问题,也可参考如 ...
- XCode帮助文档离线下载解决办法
1.菜单栏Xcode->Preferences选择Documentation,在线下载 2.离线下载(用迅雷即可下载) 在上述在线下载列表中,点击某一列,下拉框可看见 info,可得到其网络所在 ...
- React框架搭建单页面应用package.json基本包和依赖包
{ //依赖包 "devDependencies": { //babel "babel-core": "6.24.1", "bab ...
- maven打jar包包括依赖包
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId& ...
- keeplived离线安装openssl-devel依赖包
转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1434 由于公司业务并发比较高需要高可用使用LVS keeplived.在linux系统ce ...
随机推荐
- 学习Maven之PropertiesMavenPlugin
1.PRoperties-maven-plugin是个什么鬼? 介绍前我们先看一个问题,比如我们有一个maven项目结构如下:一般我们都把一些配置文件放到像src/main/resources/jdb ...
- openAL在mac下播放音源结束时判断处理
音频播放完毕,自然停止 alGetSourcei(source[0], AL_BUFFERS_QUEUED, &state); NSLog(@"queued number:%d ...
- LevelDB Filters
[LevelDB Filters] Because of the way leveldb data is organized on disk, a single Get() call may invo ...
- Python_05-文件操作
目录: 1 文件操作 1.1 快速入门 1.1.1 用Python创建一个新文件 1.1.2 文件内容追加,从0到9的10个随机整数 ...
- rabbitmq的简单介绍一
该博客的主要讲解了以下几种rabbitmq的用法1.实现简单的生产者发送消息给消费者2.实现序列持久化3.实现消息持久化4.实现消息公平分发5.实现广播6.实现组播7.实现细分组播 先来看下rabbi ...
- 查看http的并发请求数及其TCP连接状态
统计80端口的连接数据 netstat -nat | grep -i "80" | wc -l 统计httpd协议连接数 ps -ef | grep httpd | wc -l 统 ...
- SpringMVC框架结构的图解、架构的处理流程以及三大组件的说明和使用
1.1 框架结构 1.2 架构流程 1.用户发送请求至前端控制器DispatcherServlet: 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器: 3. ...
- webkit com wrapper 推荐!
https://groups.google.com/forum/#!topic/microsoft.public.vb.general.discussion/ZaFY95aDZoY http://ww ...
- 启动memcached
/usr/local/bin/memcached -d -c -m -u root
- LIst和table的转换
public static class DataTableExtensions { /// <summary> /// 转化一个DataTable /// </summary> ...