我已经使用 Jenkins 网站上的最新 AMI 启动了一个 AWS EC2 实例。然后我通过 Microsoft 网站上的 tarball 安装了 .net core。(由于我不会深入讨论的原因,添加要使用的额外软件包源apt-get
不是一种选择)
我将 tarball 解压到/usr/bin/dotnetcore
,然后将其添加到路径env
变量中。 CLI 在该用户下运行良好,但如果我su
转到 tomcat 用户(jenkins 以此用户运行),所有 dotnet CLI 命令都会失败并显示以下错误消息:
Failed to initialize CoreCLR, HRESULT: 0x80004005
我查看了 CLI 文件的文件权限,它们看起来都没有问题。
我如何才能让 CLI 适用于此机器上的所有用户?
答案1
我可以按照以下步骤解决这个问题:
- 跑步
strace dotnet run
- 在输出中找到以下行
mknod("/tmp/clr-debug-pipe-8216-6278628-in", S_IFIFO|0700) = -1 EACCES (Permission denied)
- 为所有用户授予所有者对 /tmp 文件夹的相同权限