在某些Windows计算机上,.NET核心全局工具安装失败,并出现以下错误:
Failed to install tool package 'amazon.lambda.tools': Could not find a part of the path 'C:\Users\myUser\.dotnet\tools\.store\.stage\xxx.yyy\amazon.lambda.tools'.
Tool 'amazon.lambda.tools' failed to install. This failure may have been caused by:
* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.
For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool
上面的示例尝试安装Amazon λ Tools;但是其它常用工具(例如dotnetsay)给予相同的结果。
我只在一个环境中观察到这一点:我的开发团队将其用作TFS 2017生成代理的Windows Server 2016虚拟机。该服务器已安装Visual Studio 2017和2019,以及Visual Studio 2017和2019生成工具。该服务器不位于代理之后。同一VLAN上的其他Windows Server 2016虚拟机能够成功执行安装。
C:\Users\myUser>dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.1.101
Commit: b377529961
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\3.1.101\
Host (useful for support):
Version: 3.1.1
Commit: a1388f194c
.NET Core SDKs installed:
3.1.101 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
以下操作未成功:
- 以管理员身份运行。
- 以各种帐户运行(有些用户名中有“.”,有些没有)。
- 卸载.NET核心SDK/运行时、Visual Studio,然后自行安装.NET核心并尝试安装工具。
- 正在回滚到.NET Core 3.1.101(最初尝试是在3.1.102上)。
- 从安装成功的计算机上复制.nupkg,并将其用作
--add-source
的文件参数(我知道,这很冒险)。 - 在安装过程中指定特定的
--version
。
我已经确定了一个解决方法:将C:\Users\myUser.dotnet\tools从安装成功的计算机复制到安装失败的计算机上的相同位置。这样做允许使用全局工具,就像安装成功一样。当然,这不是最佳解决方案,但我提到它是为了更好地理解根本问题。
我不知道dotnet tool install
命令的内部工作原理,但我可以很容易地想象“找不到路径的一部分...”是一个方法的失败,该方法希望将一些下载的内容放置在临时文件夹中,但发现并非如此。那么这可能是(如错误所示)下载失败的结果...日志只是没有告诉我下载失败的资源,而且我还没能在Github上找到Amazon.Lambda.Tools的.nupkg(尝试手动指定URL)。
这个问题是否有已知的解决方案?如果没有,我是否可以采取进一步的步骤来诊断工具安装?我确信报告的错误“找不到路径的一部分...”只是一个错误的副作用,我无法通过控制台看到这个错误。
4条答案
按热度按时间svujldwt1#
我在安装
Amazon.Lambda.Tools
时遇到了同样的问题,但指定软件包版本为我解决了这个问题:运行以下命令时,导致了与您报告的相同的错误
要确保您安装的是此软件包的最新版本,请检查nuget feed here。
whlutmcx2#
我在一个新的windows安装中运行命令时遇到了这个。
结果发现这个错误非常明显:
错误NU1101:找不到包amazon.lambda.tools。源中不存在具有此ID的包:Microsoft Visual Studio脱机程序包
它只是在
Microsoft Visual Studio Offline Packages
存储库中查找包。我运行了Visual Studio 2019,然后从那里检查了Nuget的包源设置,然后再次运行命令,它安装得很好。
piwo6bdm3#
我遇到了同样的问题。经过多次迭代后,我发现我的MSBuildSDKsPath是错误的。是
C:\Program Files\dotnet\sdk\5.0.400
,但应该是C:\Program Files\dotnet\sdk\5.0.400\Sdks
。修复并重新启动后,我可以安装工具0yg35tkg4#
我删除了NuGet Config目录中的.config文件并运行了
npm install npm
然后我直接从源文件中提取包,这样就解决了我的问题。