尝试在 Ubuntu 18.04.2 LTS 上安装 nuget。我遇到了错误,我不知道如何修复此状态。
nuget 无法启动,它给出以下未处理的异常错误System.Console
。
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.DllNotFoundException: System.Native
at (wrapper managed-to-native) Interop+Sys.Stat(byte&,Interop/Sys/FileStatus&)
at Interop+Sys.Stat (System.ReadOnlySpan`1[T] path, Interop+Sys+FileStatus& output) [0x00028] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath, Interop+ErrorInfo& errorInfo) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.Directory.Exists (System.String path) [0x0001e] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.TermInfoDriver.SearchTerminfo (System.String term) [0x00044] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.TermInfoDriver..ctor (System.String term) [0x0004b] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.ConsoleDriver..cctor () [0x0004d] in <81342d83acda4c5590ec19c7afdf26b9>:0
--- End of inner exception stack trace ---
at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x00007] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.Console..cctor () [0x0007d] in <81342d83acda4c5590ec19c7afdf26b9>:0
--- End of inner exception stack trace ---
at NuGet.Program.Main (System.String[] args) [0x00005] in <dc8a236afba24badbb185682f8956bec>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.DllNotFoundException: System.Native
at (wrapper managed-to-native) Interop+Sys.Stat(byte&,Interop/Sys/FileStatus&)
at Interop+Sys.Stat (System.ReadOnlySpan`1[T] path, Interop+Sys+FileStatus& output) [0x00028] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath, Interop+ErrorInfo& errorInfo) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.IO.Directory.Exists (System.String path) [0x0001e] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.TermInfoDriver.SearchTerminfo (System.String term) [0x00044] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.TermInfoDriver..ctor (System.String term) [0x0004b] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.ConsoleDriver..cctor () [0x0004d] in <81342d83acda4c5590ec19c7afdf26b9>:0
--- End of inner exception stack trace ---
at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x00007] in <81342d83acda4c5590ec19c7afdf26b9>:0
at System.Console..cctor () [0x0007d] in <81342d83acda4c5590ec19c7afdf26b9>:0
--- End of inner exception stack trace ---
at NuGet.Program.Main (System.String[] args) [0x00005] in <dc8a236afba24badbb185682f8956bec>:0
为了尝试修复它,我做了以下操作:
sudo apt --fix-broken install -y >log.txt 2>&1
这是 log.txt。抱歉,它太长了,但我不确定其中哪些部分是相关的。
警告:apt 没有稳定的 CLI 界面。在脚本中请谨慎使用。 正在读取包裹清单... 正在构建依赖关系树... 正在读取状态信息... 纠正依赖关系...完成 以下软件包已自动安装并且不再需要: apt-clone archdetect-deb busybox-static cryptsetup-bin dpkg-重新打包 gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 grub-common kde-window-manager kinit kio kpackagetool5 kwayland-data kwin-common kwin-data kwin-x11 libdebian-installer4 libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5 libkf5completion-data libkf5completion5 libkf5声明性数据 libkf5declarative5 libkf5doctools5 libkf5globalaccel-数据 libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5 libkf5jobwidgets-数据 libkf5jobwidgets5 libkf5kcmutils-数据 libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-数据 libkf5newstuff5 libkf5newstuffcore5 libkf5package-数据 libkf5package5 libkf5plasma5 libkf5quickaddons5 libkf5solid5 libkf5solid5-数据 libkf5sonnet5-数据 libkf5sonnetcore5 libkf5sonnetui5 libkf5textwidgets-数据 libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11 libkwinxrenderutils11 libmono-系统-运行时-互操作服务-运行时信息4.0-cil libnunit-cil-dev libnunit-console-runner2.6.3-cil libnunit-core-interfaces2.6.3-cil libnunit-core2.6.3-cil libnunit-framework2.6.3-cil libnunit-mocks2.6.3-cil libnunit-util2.6.3-cil libqgsttools-p1 libqt5designer5 libqt5help5 libqt5multimedia5 libqt5multimedia5-插件 libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5opengl5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickwidgets5 libqt5sensors5 libqt5sql5 libqt5test5 libqt5webchannel5 libqt5webkit5 libxcb-composite0 libxcb-cursor0 libxcb-damage0 os-prober python3-dbus.mainloop.pyqt5 python3-icu python3-pam python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-sip qml-module-org-kde-kquickcontroladdons qml-module-qtmultimedia qml-模块-qtquick2 rdate 使用“sudo apt autoremove”来删除它们。 将会安装以下附加软件包: ca-证书-mono 以下软件包将会升级: ca-证书-mono debconf:由于未安装 apt-utils,因此延迟软件包配置 升级了 1 个,新安装了 0 个,删除了 0 个,还有 278 个没有升级。 157 未完全安装或删除。 需要获取 0 B/31.2 kB 的档案。 此操作完成后,将释放4,096 B的磁盘空间。 设置 mono-gac (6.0.0.313-0xamarin3+ubuntu1804b1) ... * 将 1 个程序集从 libnewtonsoft-json5.0-cil 安装到 Mono 中 未处理的异常: System.DllNotFoundException:System.Native 在(包装器管理到本机)Interop + Sys.Stat(字节&,Interop / Sys / FileStatus&) 在 Interop+Sys.Stat (System.ReadOnlySpan`1[T] 路径,Interop+Sys+FileStatus& 输出) [0x00028] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath) [0x00006] 中:0 在 System.IO.File.Exists (System.String 路径) [0x00043] 中:0 在 Mono.Tools.Driver.LoadConfig (System.Boolean quiet) [0x00028] 中:0 在 Mono.Tools.Driver.Main (System.String[] args) [0x00351] 中:0 [错误] 致命的未处理异常:System.DllNotFoundException:System.Native 在(包装器管理到本机)Interop + Sys.Stat(字节&,Interop / Sys / FileStatus&) 在 Interop+Sys.Stat (System.ReadOnlySpan`1[T] 路径,Interop+Sys+FileStatus& 输出) [0x00028] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath) [0x00006] 中:0 在 System.IO.File.Exists (System.String 路径) [0x00043] 中:0 在 Mono.Tools.Driver.LoadConfig (System.Boolean quiet) [0x00028] 中:0 在 Mono.Tools.Driver.Main (System.String[] args) [0x00351] 中:0 E: 安装程序集 /usr/lib/cli/Newtonsoft.Json-5.0/Newtonsoft.Json.dll 失败 E: 使用 /usr/share/cli-common/runtimes.d/mono 安装 libnewtonsoft-json5.0-cil 失败 * 将 1 个程序集从 libnunit-console-runner2.6.3-cil 安装到 Mono 中
...删除了许多类似的例外情况...
未处理的异常: System.DllNotFoundException:System.Native 在(包装器管理到本机)Interop + Sys.Stat(字节&,Interop / Sys / FileStatus&) 在 Interop+Sys.Stat (System.ReadOnlySpan`1[T] 路径,Interop+Sys+FileStatus& 输出) [0x00028] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath) [0x00006] 中:0 在 System.IO.File.Exists (System.String 路径) [0x00043] 中:0 在 Mono.Tools.Driver.LoadConfig (System.Boolean quiet) [0x00028] 中:0 在 Mono.Tools.Driver.Main (System.String[] args) [0x00351] 中:0 [错误] 致命的未处理异常:System.DllNotFoundException:System.Native 在(包装器管理到本机)Interop + Sys.Stat(字节&,Interop / Sys / FileStatus&) 在 Interop+Sys.Stat (System.ReadOnlySpan`1[T] 路径,Interop+Sys+FileStatus& 输出) [0x00028] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] 中:0 在 System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath) [0x00006] 中:0 在 System.IO.File.Exists (System.String 路径) [0x00043] 中:0 在 Mono.Tools.Driver.LoadConfig (System.Boolean quiet) [0x00028] 中:0 在 Mono.Tools.Driver.Main (System.String[] args) [0x00351] 中:0 E:安装程序集 /usr/share/cli-common/policies.d/libnewtonsoft-json5.0-cil/policy.5.0.Newtonsoft.Json.dll 失败 E:使用 /usr/share/cli-common/runtimes.d/mono 安装 policy.5.0.Newtonsoft.Json 失败 dpkg:处理软件包 mono-gac 时出错(--configure): 已安装 mono-gac 包安装后脚本子进程返回错误退出状态 29 dpkg:依赖问题阻止 mono-runtime-common 的配置: mono-runtime-common 依赖于 mono-gac (= 6.0.0.313-0xamarin3+ubuntu1804b1);然而: 软件包 mono-gac 尚未配置。 dpkg: 处理软件包 mono-runtime-common 时出错(--configure): 依赖问题 - 未配置 没有写入批准报告,因为错误消息表明它是上次故障的后续错误。 处理时遇到错误: 单乙醇胺 mono-runtime-common E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
答案1
我在之前运行良好的脚本中也遇到了这个问题。这是由于 Mono 从 5.18.0.x 升级到最近发布的 6.0.0(2019 年 7 月 14 日)。
我能够使用 NuGet 4.7.0.5148(在 OSX 上)和 5.1.0.6013(在 Ubuntu 18.04 上)重现该错误。
在我的 Mac 上成功将 Mono 降级到 5.18.1 后,脚本又可以正常工作了。不过目前我仍停留在 Ubuntu 18.04 上,因为降级后的 Mono 现在遇到了 libc 异常。