dotnet restore无法加载共享库'libproc'或它在Mac OS上的依赖项之一

时间:2018-07-04 17:04:36

标签: c# .net

我正在关注.NET的教程

https://www.microsoft.com/net/learn/get-started/macos

我安装了.NET SDK并通过在macOS High Sierra版本10.13.5上使用创建了一个应用程序:

[HttpPost]        
public IActionResult Post([FromBody]IdentityServer4.Models.Client client) {

    return Json(new { result = true });
}

这给我一个错误:

~$ dotnet new console -o myApp

我试图做

The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on myApp/myApp.csproj...
Unable to load shared library 'libproc' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES 
environment variable: dlopen(liblibproc, 1): image not found

在删除创建的文件夹和文件之前,我得到很多打印的语句,如下所示:

export DYLD_PRINT_LIBRARIES=/usr/lib/

以及相同的错误:

dyld: loaded: /usr/local/share/dotnet/shared/Microsoft.NETCore.App/2.1.1/System.IO.Compression.Native.dylib

2 个答案:

答案 0 :(得分:2)

我通过使用fs-usage检查dotnet在哪里尝试找到libproc.dylib使其工作。就我而言,我发现dotnet试图在〜/ libproc.dylib中找到libproc.dylib,因此我将/usr/lib/libproc.dylib复制到〜/ libproc.dylib,dotnet正常工作。

我认为这不是一个令人满意的答案,所以如果有人知道为什么dotnet不在/usr/lib/libproc.dylib中寻找libproc.dylib,请帮帮我。谢谢!

答案 1 :(得分:0)

我注意到,只有在pwsh中开始~时,我的评论才起作用。

我在/usr/local/microsoft/powershell/6中创建了一个指向libproc.dylib的符号链接:

/usr/local/microsoft/powershell/6$ sudo ln -s /usr/lib/libproc.dylib libproc.dylib

PowerShell可以在任何目录中正确启动。

当我升级PowerShell Core(通过Homebrew Cask)时,可能需要重新创建。

**编辑**

我应该更仔细地阅读这个问题-问题是关于dotnet,而不是pwsh