rider出现PluginException导致无法启动

目录

项目场景:

问题描述

原因分析:

解决方案:


项目场景:

由于deepinshot不适用于wayland,ubuntu自带的截图又难用的很,所以换了一款截图软件,叫flameshot,可支持在wayland上使用,虽然还是会有些问题,但还是值得去尝试一下;

事实证明,在ubuntu2404上面可以完美的适配wayland,而在ubuntu2204上还是会出现一些问题。

然后打算切换到x11上使用,不想再折腾了,毕竟太浪费时间了,切换之后,完美使用,但又迎来了一个更严重的问题,Rider不能使用了!


问题描述

启动过程中直接报错,点击确定直接关闭,无法启动!

然后根据提示参考了官网给出的网址,https://jb.gg/ide/critical-startup-errors

显然,很多人出现过类似的问题,官方根据大多数问题,整理归纳出来几类问题,并给出了答案:

问题1:“java.nio.file.AccessDeniedException:…plugins\github-copilot intellij\copilot agent\bin\copilot agent win.exe”,解决办法

问题2: "java.net.BindException: Address already in use: bind",解决办法

问题3:第三方插件造成的插件冲突,删除第三方插件目录;

显然我遇到的问题不在此列,只能另寻他发;百度了很久,没有找到相关的办法。

无奈,只能去翻系统日志了:

果然发现了问题,然后又翻出了rider的日志: 

Unhandled exception. System.TypeInitializationException: The type initializer for 'JetBrains.Util.PlatformUtil' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'JetBrains.HabitatDetector.Impl.Helper' threw an exception.
 ---> System.IO.FileNotFoundException: Could not find file '/etc/os-release'.
File name: '/etc/os-release'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.OpenText(String path)
   at JetBrains.HabitatDetector.OsReleaseProperties.ReadFromDefaultLocations()
   at JetBrains.HabitatDetector.Impl.Unix.UnixHelper.GetOSName(JetPlatform platform, String unameSysname, String unameRelease)
   at JetBrains.HabitatDetector.Impl.Helper..cctor()
   --- End of inner exception stack trace ---
   at JetBrains.HabitatDetector.HabitatInfo.get_ClrImplementation()
   at JetBrains.Util.PlatformUtil.get_IsRunningOnCore()
   at JetBrains.Util.PlatformUtil..cctor()
   --- End of inner exception stack trace ---
   at JetBrains.Util.Concurrency.JetThreadApartment.STAThread()
   at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main()

还是日志靠谱!


原因分析:

至于原因,无从得知,但是该文件确实不存在了,可能是切换x11服务器的时候,出错,被误删了,翻了去换过程的日志,也没有找到答案,

 如果是这样,那应该不止rider出现问题,其他应用应该也会出现这样的问题:

 果然如此。


解决方案:

知道了问题,解决起来就简单了,重新生成一个就完了,当然需要注意得是,这种操作系统得文件需要用root来生成,需要root权限才能访问。

搞一个脚本,怼上去。

#!/bin/bash
echo "NAME=Ubuntu" > /etc/os-release
echo "VERSION=22.04 LTS (Jammy Jellyfish)" >> /etc/os-release
echo "ID=ubuntu" >> /etc/os-release
echo "ID_LIKE=debian" >> /etc/os-release
echo "PRETTY_NAME=\"Ubuntu 22.04 LTS\"" >> /etc/os-release
echo "VERSION_ID=22.04" >> /etc/os-release
echo "HOME_URL=https://www.ubuntu.com/" >> /etc/os-release
echo "SUPPORT_URL=https://help.ubuntu.com/" >> /etc/os-release
echo "BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/" >> /etc/os-release
echo "PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" >> /etc/os-release
echo "VERSION_CODENAME=jammy" >> /etc/os-release
echo "UBUNTU_CODENAME=jammy" >> /etc/os-release

 切换到root下执行。

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Rider cannot execute command"是指Rider(一款集成开发环境)无法执行特定的命令。这种情况可能由以下几个原因引起: 1. Rider版本不兼容:如果Rider版本较旧或是不支持要执行的命令,就会出现这个问题。解决方法是升级Rider到最新版本或确认所用版本是否支持该命令。 2. 缺少必要的插件或组件:有些命令可能依赖特定插件或组件才能被Rider执行。如果这些插件或组件未安装或已损坏,则会导致该错误。解决方法是检查并安装所需的插件或组件。 3. 命令输入错误或格式不正确:在执行命令时,可能会因为输入错误或命令格式不正确而导致Rider无法执行。这时候需要仔细检查命令的正确性,并确保按照要求输入。 4. 文件或路径权限问题:有时候,某些命令需要访问或修改特定的文件或路径。如果对这些文件或路径没有足够的权限,Rider无法执行命令。解决方法是检查文件或路径的权限设置,并确保Rider具有足够的权限来执行命令。 5. 系统资源不足:如果系统资源(如内存或处理器)不足,Rider可能无法执行某些命令。解决方法是关闭其他占用大量资源的程序,释放系统资源,并尝试重新执行命令。 总之,当出现"Rider cannot execute command"错误时,我们需要仔细检查Rider的版本兼容性、安装插件或组件、命令的正确性、文件或路径权限以及系统资源等方面的问题,并采取相应的措施来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值