gpt4 book ai didi

Ruby Gem "password"似乎没有正确安装

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:30 24 4
gpt4 key购买 nike

我试图隐藏 ruby​​ 脚本的用户输入(例如,输入密码时)。我试过同时使用 'password' gem 和 'highline/import' gem,正如 this 所建议的那样堆栈溢出文章。但是,我似乎在让 gem 工作时遇到了一些问题。当我的脚本很简单时:

require 'password'
require 'rubygems'
require 'activesupport'

它输出以下错误。

C:\Users\username\Desktop>ruby test.rb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load --
activesupport (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/password-1.3/lib/password.rb:1:
in `<top (required)>'
from <internal:lib/rubygems/custom_require>:33:in `require'
from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from test.rb:1:in `<main>'

我不确定“activesupport”是否必要;我添加它是因为第一个错误行,但它似乎没有帮助。我尝试查看在 RubyGems 文档服务器中找到的 rdoc 信息并查找每一行,但仍然无法完全理解问题所在。我在 Windows 环境中使用 Ruby 1.9.2p180。任何见解将不胜感激。提前谢谢你。

编辑——在遵循 Casper 的建议并安装 highline/import gem (gem install highline) 之后,我找到了以下解决方案来实现我隐藏密码输入的最终目标:

require 'rubygems'
require 'highline/import'

username = ask("Enter username: ") { |x| x.echo = true }
password = ask("Enter password: ") { |x| x.echo = "*" } #assign false to echo nothing

产生以下内容:

Enter username: Joe
Enter password: *********

谢谢卡斯帕!

最佳答案

您需要先加载 rubygems ,然后再尝试加载任何其他 gem 文件。 rubygems 使您的 Ruby 程序能够使用 require 加载其他 gem:

require 'rubygems'
require 'password'
require 'activesupport'

在您可以使用密码 gem 之前,您需要先安装它:

gem install ruby-password

关于Ruby Gem "password"似乎没有正确安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com