1

我正在尝试使用 Mono 3.2.8 使 NuGet 在全新安装的 CentOS 6.5 下工作。但是,当我尝试恢复软件包时,我收到一条WARNING: libMonoPosixHelper.so警告消息,然后是Unable to read package from path <package_Name>.nupkg错误Unable to find version <some version> of package <next package>消息。这在使用相同 Mono 版本的 Ubuntu 14.04 下运行良好。

这是输出:

[root@folke folke-app]# mono -V
Mono JIT compiler version 3.2.8 (tarball Wed Apr 23 20:44:34 CEST 2014)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen

我克隆了这个 .NET 项目(我和其他人一起尝试过,结果相同):

[root@folke folke-app]# git clone https://github.com/acastaner/harnet.git
Initialized empty Git repository in /home/folke-app/harnet/.git/
remote: Reusing existing pack: 273, done.
remote: Total 273 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (273/273), 752.91 KiB | 429 KiB/s, done.
Resolving deltas: 100% (170/170), done.

但是当我尝试 NuGet 恢复时,我得到了这个:

[root@folke folke-app]# mono nuget.exe restore harnet/harnet/packages.config -SolutionDirectory harnet/
WARNING: libMonoPosixHelper.so
Installing 'Newtonsoft.Json 5.0.8'.
Unable to read package from path 'Newtonsoft.Json.5.0.8.nupkg'.
Unable to find version '1.2.0' of package 'NodaTime'.

已经运行了mozroots --import --sync通常与 Linux 上的 NuGet 错误相关的命令。

更新:

我也执行了 certmgr,没有运气:

certmgr -ssl -m https://go.microsoft.com
certmgr -ssl -m https://nugetgallery.blob.core.windows.net
certmgr -ssl -m https://nuget.org
4

2 回答 2

0

如果您从源代码编译 Mono,libMonoPosixHelper.so很可能在/usr/local/lib.

要确保从该目录加载库,请运行(以 root 身份):

echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig

在设置 Mono 环境以查看 Mono 使用哪些环境变量来查找库时,可能还值得阅读此页面。

于 2014-11-06T15:24:54.863 回答
0

nuget.exe 无法正常工作,因为 mono 无法找到名为 libMonoPosixHelper.so 的库(我认为您可能无法在没有该库的情况下运行 mono/.NET 应用程序)

首先,您应该在文件系统中搜索所需的库。

然后,您可以尝试这样的事情(从命令行界面):

export LD_LIBRARY_PATH=/path/to/directory/where/missing/library/was/found/
mono nuget.exe whatever_you_want_to_do

有关 LD_LIBRARY_PATH 的更多信息,请参阅此链接:man ld

于 2014-06-15T15:28:27.457 回答