未找到 PTY 宝石

rud*_*uda 5 ruby gem pty

我在 Windows 上安装了 Ruby 1.9.3。当我尝试要求 gem 时,控制台输出找不到 gem:

require 'pty'
Run Code Online (Sandbox Code Playgroud)

哪个输出:

'require': cannot load such file -- pty <LoadError>
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

gem install pty
Run Code Online (Sandbox Code Playgroud)

并得到这个输出:

Could not find a valid gem 'pty' in any repository
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

mas*_*sk8 2

你可以试试

gem install rubysl-pty
Run Code Online (Sandbox Code Playgroud)

如果目标 ruby​​ 版本是 1.9.x,请使用适当的 -v 选项运行 gem 命令

gem install rubysl-pty -v 1.0.0
Run Code Online (Sandbox Code Playgroud)

如果您想在 Windows 上使用 PTY,我最好的建议是使用 cygwin。我可以通过 cygwin 在 Windows 上安装和使用这个 ruby​​sl-pty,但有一些限制:

$ gem install rubysl-pty -v 1.0.0
Building native extensions.  This could take a while...
Successfully installed rubysl-pty-1.0.0
1 gem installed
Installing ri documentation for rubysl-pty-1.0.0...
Installing RDoc documentation for rubysl-pty-1.0.0...
Run Code Online (Sandbox Code Playgroud)

示例代码:

# test.rb
require 'pty'
PTY.getpty("ls") { |i,o,pid| p i; p pid }
Run Code Online (Sandbox Code Playgroud)

输出:

$ ruby test.rb
#<File:/dev/pty0>
16376
Run Code Online (Sandbox Code Playgroud)