我的实际设置是:
- 优麒麟 16.04 操作系统
- 具有多用户的阿帕奇。(每个网站都有自己的用户)
- Dotnet 网站在 Apache 上使用反向代理
当我创建一个新网站时,它会在用户主页中生成一个 .nuget/package 文件夹(1gb 大小)。
我该怎么办才能使整个系统只有一个软件包文件夹?
可以创建指定全局包文件夹位置的 NuGet.Config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="globalPackagesFolder" value="/var/data/nuget/cache" />
</config>
</configuration>
项目将在还原时自动检测目录层次结构中的 NuGet.Config 文件。
但是,生产不需要 NuGet 缓存,而只需要开发任务。一旦网站发布(dotnet publish
),生成的发布文件夹包含能够在目标机器上运行所需的所有资产。即使以其他用户身份在本地运行,也只有执行还原-生成-发布步骤的用户需要全局 nuget 缓存。