小编Sco*_*ttJ的帖子

什么"匿名模块没有名称可以引用"真的是什么意思?

我正在升级我的Rails应用程序以使用Ruby 1.9并且我一直遇到这样的错误:

Anonymous modules have no name to be referenced by
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:585:in `to_constant_name'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:391:in `qualified_name_for'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:104:in `rescue in const_missing'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:94:in `const_missing'
/home/foo/app/config/environment.rb:66:in `block in <top (required)>'
etc.
Run Code Online (Sandbox Code Playgroud)

谷歌为此找到了各种各样的点击,但每个点击都针对一个特定的宝石或应用程序的特定修复.他们都没有解释这个消息的真正含义.

  • 什么是"匿名模块"?
  • 此错误消息来自何处?(Ruby解释器本身?)
  • 导致这种情况的Ruby 1.9有什么不同?(使用Ruby 1.8.7的Rails 2.3.8不会遇到这种情况.)
  • 修复此错误的一般/正确方法是什么?

environment.rb的第66行是super_exception_notifier(旧版本,2.0.8)的配置:

ExceptionNotifier.configure_exception_notifier do |config|
  config[:sender_address] = %("Foo" <foo@foo.com>)
  config[:exception_recipients] = %w(foo@foo.com)
  config[:skip_local_notification] = false
end
Run Code Online (Sandbox Code Playgroud)

据我所知,ExceptionNotifier是未定义的,ActiveSupport试图神奇地加载它,但是失败然后再次尝试打印一个很好的错误消息失败.

ruby ruby-on-rails ruby-1.9

12
推荐指数
1
解决办法
4434
查看次数

如何强制git认为文件未合并?

我想在我的仓库中对文件进行更改,然后强制git相信文件未合并并显示git status如下:

# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add <file>..." to mark resolution)
#
#       both modified:      lib/delayed/recipes.rb
#
Run Code Online (Sandbox Code Playgroud)

这就是我的全部问题.请继续阅读,了解原因,因为我知道这是第一件要问的问题.

这里的目的是为Piston提供一个错误修正,它现在会在索引中留下合并冲突,而这些冲突很容易被忽视.

该方法piston update可与一个Git回购是:

  • 将远程仓库克隆为新的临时git仓库
  • 检查我们看到的最后一次提交的临时回购(保存在.piston.yml中)
  • 检查我们的本地仓库(在新分支中)到最后一次提交.piston.yml的更新
  • 将我们当地的repo文件复制到temp repo中
  • 提交temp repo中的所有更改(这些是我们上次更新此出售项目时的本地更改)
  • git merge master在temp repo中运行以将我们的本地更改与远程repo的更改合并
  • IGNORE MERGE CONFLICTS(!)并将temp repo中的所有文件复制到我们的本地仓库
  • 将这些文件(在我们的新临时分支中)提交到我们的本地仓库
  • 结账当地回购我们原来的起点
  • 将temp分支合并到本地仓库中(添加我们所做的任何进一步更改)

我期望通过允许将具有合并冲突的文件提交到临时分支来解决此问题,但是在最后(在它运行之后git merge --squash)我想告诉git关于在temp repo中具有合并冲突的文件.

git ruby-piston

8
推荐指数
1
解决办法
4050
查看次数

udev 规则适用于“udevadm test”,但不适用于“udevadm trigger”

我有一个 4 端口 USB 转 RS232 集线器的 udev 规则,是根据这个问题创建的:

SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{serial}=="A4018BU0", SYMLINK+="ttyLumagen"

它没有按预期创建符号链接,因此为了调试我尝试了udevadm test,它似乎有效:

% sudo udevadm info --query=path --name=/dev/ttyUSB0
/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.1/3-9.1:1.0/ttyUSB0/tty/ttyUSB0
% sudo udevadm test /devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.1/3-9.1:1.0/ttyUSB0/tty/ttyUSB0
calling: test
version 204
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          204
file …
Run Code Online (Sandbox Code Playgroud)

ubuntu udev

7
推荐指数
1
解决办法
5646
查看次数

标签 统计

git ×1

ruby ×1

ruby-1.9 ×1

ruby-on-rails ×1

ruby-piston ×1

ubuntu ×1

udev ×1