- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的工作站:
$ uname -a
Linux dsktop 3.13.0-77-generic #121-Ubuntu SMP Wed Jan 20 10:50:42 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux-gnu]
# (also same behavior with ruby 2.3.1)
我对此进行了研究,发现 pry-nav work unexpectedly -- 但根据该问题重新安装并没有解决我的问题。
问题——我最近使用 Brightbox Cloud ppa 资源在系统范围内安装了 Ruby 2.2 和 2.3,例如:
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.3 ruby2.3-dev
然后安装Pry gem和相关依赖:
$ sudo gem install pry pry-nav pry-byebug
结果是:
$ sudo gem list pry
*** LOCAL GEMS ***
pry (0.10.3)
pry-byebug (3.3.0)
pry-nav (0.2.4)
还需要稍微打开文件访问权限:
$ sudo chmod -R 755 /var/lib/gems
$ sudo chmod 755 /usr/local/bin/pry
$ sudo chmod 755 /usr/local/bin/byebug
我之前曾让 Pry 使用 Ruby 1.9 和 2.1 在较旧的 RVM 平台上工作,并且在那里工作得很好,但我显然已经“丢失了 Pry 安装的公式”,或者有些东西发生了微妙的变化(?)。哦,没有让事情复杂化的 Rails,只有简单的 Ruby 脚本。
当我运行看起来像这样的脚本代码时(并且它与 RVM 装备和私有(private)安装的 gem 一起工作得很好):
require 'pry'
binding.pry
args = ARGV.join( ' ' )
# Check that only numbers 0..9, arithmetical operators +, -, * and /,
# decimal, comma, space and parentheses () are present in args:
当然,Pry-Byebug 会在 binding.pry 方法调用之后的行处设置断点。而是显示以下断点 (?):
From: /var/lib/gems/2.2.0/gems/pry-nav-0.2.4/lib/pry-nav/tracer.rb @ line 21 PryNav::Tracer#run:
12: def run(&block)
13: # For performance, disable any tracers while in the console.
14: # Unfortunately doesn't work in 1.9.2 because of
15: # http://redmine.ruby-lang.org/issues/3921. Works fine in 1.8.7 and 1.9.3.
16: stop unless RUBY_VERSION == '1.9.2'
17:
18: return_value = nil
19: command = catch(:breakout_nav) do # Coordinates with PryNav::Commands
20: return_value = yield
=> 21: {} # Nothing thrown == no navigational command
22: end
23:
24: # Adjust tracer based on command
25: if process_command(command)
26: start
27: else
28: stop if RUBY_VERSION == '1.9.2'
29: if @pry_start_options[:pry_remote] && PryNav.current_remote_server
30: PryNav.current_remote_server.teardown
31: end
32: end
33:
34: return_value
35: end
pry>
那么,这里发生了什么?为什么 Pry 在 .../pry-nav/tracer.rb 的运行模块中的第 21 行中断?
必须如何安装 Pry 和 Byebug 才能生成一组可用的 Gem?
我保证会仔细记录这个答案,这样我以后就不会再把它弄丢了! TIA。
已添加 --发布这个问题后,我做了更多的挖掘并发现了这个:
https://plus.google.com/114275173749981855325/posts
建议只安装 pry 和 pry-nav,而不是 pry-byebug。所以,我卸载了 pry-byebug,然后 ta-da! Pry 调试再次开始正常工作。
我很抱歉问了这么长的问题,我自己却用这么简单的解决方案来回答。希望你们都会让这篇文章作为对“如何安装 Pry”的改进在未来继续存在。现有关于 pry 安装的“权威”文档含糊不清且不准确(或者可能只是没有解决这个潜在问题)。
再次感谢您,对于给您带来的麻烦和困惑,我们深表歉意。
最佳答案
卸载 pry-nav
似乎让它再次正常工作:)
gem uninstall pry-nav
关于Ruby Pry 安装给出奇怪的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531651/
我有这种来自 Google map 自动完成的奇怪行为(或者我可能错过了某事)...想法?奇怪的: 您在输入中输入某物,例如“伦敦” 您按 [ENTER] 你按下 [CLEAR] 按钮 你点击进入'输
这段代码与《Learning Java》(Oracle Press Books)一书中的代码完全一样,但它不起作用。我不明白为什么它不起作用,它应该起作用。我用 OpenJDK 和 Sun JDK 7
示例 1 中究竟发生了什么?这是如何解析的? # doesnt split on , [String]::Join(",",("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aa
我需要获得方程式系统的解决方案。为此,我使用函数sgesv_()。 一切都很好,它使我感到解决方案的正确结果。 但是我得到一个奇怪的警告。 警告:从不兼容的指针类型传递'sgesv_'的参数3 我正在
我目前在制作动画时遇到一个奇怪的问题: [UIView animateWithDuration:3 delay:0
alert('works'); $(window).load(function () { alert('does not work'); });
我的代码: public class MyTest { public class StringSorter implements Comparator { public
我正在学习 JavaScript。尝试理解代码, function foo (){ var a = b = {name: 'Hai'}; document.write(a.name +''
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
这按预期工作: [dgorur@ted ~]$ env -i env [dgorur@ted ~]$ 这样做: [dgorur@ted ~]$ env -i which date which: no
struct BLA { int size_; int size()const{ return size_; } } int x; BLA b[ 2 ]; BLA * p = &b[
我有以下代码: #test img {vertical-align: middle;} div#test { border: 1px solid green; height: 150px; li
我想大多数使用过 C/C++ 的人都对预处理器的工作原理有一定的直觉(或多或少)。直到今天我也是这么认为的,但事实证明我的直觉是错误的。故事是这样的: 今天我尝试了一些东西,但我无法解释结果。首先考虑
我想为 TnSettings 做 mock,是的,如果通过以下方法编写代码,它就可以工作,问题是我们需要为每个案例编写 mock 代码,如果我们只 mock 一次然后执行多个案例,那么第二个将报告异常
我的项目中有以下两个结构 typedef volatile struct { unsigned char rx_buf[MAX_UART_BUF]; //Input buffer over U
Regex rx = new Regex(@"[+-]"); string[] substrings = rx.Split(expression); expression = "-9a3dcb
我的两个应用程序遇到了一个奇怪的问题。这是设置: 两个 tomcat/java 应用程序,在同一个网络中运行,连接到相同的 MS-SQL-Server。一个应用程序,恰好按顺序位于 DMZ 中可从互联
我目前正在与 Android Api Lvl 8 上的 OnLongClickListener 作斗争。 拿这段代码: this.webView.setOnLongClickListener(new
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
只是遇到了奇怪的事情。我有以下代码: -(void)ImageDownloadCompleat { [self performSelectorOnMainThread:@selector(up
我是一名优秀的程序员,十分优秀!