csshX 不适用于 Mac Big Sur。
未实现:POSIX::tmpnam():在 /System/Library/Perl/5.28/darwin-thread-multi-2level/POSIX.pm 第 185 行使用 File::Temp。未实现:POSIX::tmpnam() 在 /usr /local/bin/csshX 第 1130 行。BEGIN 失败--编译在 /usr/local/bin/csshX 第 1130 行中止。
iva*_*rov 22
我已经修复了它!
整个事情是 Apple 在 MacOS Catalina perl 5, version 18, subversion 4 (v5.18.4) 中使用作为默认值,但在 Big Sur perl 5, version 28, subversion 2 (v5.28.2) 中使用
csshX 与 5.28 不兼容,因此最简单的方法是通过以下命令更改默认值:
defaults write com.apple.versioner.perl Version -string 5.18
Run Code Online (Sandbox Code Playgroud)
由于 Apple 保留了以前的版本:
sh-3.2# ls -l /usr/bin/perl*
-rwxr-xr-x 1 root wheel 140176 Jan 1 2020 /usr/bin/perl
-rwxr-xr-x 1 root wheel 139184 Jan 1 2020 /usr/bin/perl5.18
-rwxr-xr-x 1 root wheel 121472 Jan 1 2020 /usr/bin/perl5.28
-rwxr-xr-x 1 root wheel 121472 Jan 1 2020 /usr/bin/perl5.30
Run Code Online (Sandbox Code Playgroud)
Voilà - csshX 又开始工作了!
小智 7
在文图拉执行:
defaults write com.apple.versioner.perl Version -string 5.30
Run Code Online (Sandbox Code Playgroud)
使文件/usr/local/bin/csshx可写:
sudo chmod 755 /usr/local/bin/csshX
Run Code Online (Sandbox Code Playgroud)
然后用 vim 或 nano 编辑它,将第 1130 行从 POSIX 更改为 File::Temp
use File::Temp qw(tmpnam);
Run Code Online (Sandbox Code Playgroud)
小智 6
在 CsshX.iterm 中更改行创建 tmp 文件
use POSIX qw(tmpnam);
Run Code Online (Sandbox Code Playgroud)
经过
use File::Temp qw(tmpnam);
Run Code Online (Sandbox Code Playgroud)