5

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

require 'pty'

哪个输出:

'require': cannot load such file -- pty <LoadError>

我也试过:

gem install pty

并得到了这个输出:

Could not find a valid gem 'pty' in any repository

我该如何解决?

4

3 回答 3

4

据我所知,Windows 没有 PTY 模块实现,因为它们没有伪终端功能。

于 2013-05-09T17:20:20.600 回答
2

你可以试试

gem install rubysl-pty

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

gem install rubysl-pty -v 1.0.0

如果你想在 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...

示例代码:

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

输出:

$ ruby test.rb
#<File:/dev/pty0>
16376
于 2013-05-09T17:20:03.047 回答
0

目前似乎 ruby​​ 支持开箱即用的“pty”模块,因此您不必安装任何 gem:https ://ruby-doc.org/stdlib-2.5.3/libdoc/pty/rdoc/PTY.html

于 2019-12-12T15:34:50.953 回答