gpt4 book ai didi

ruby - Windows 7 上的 Compass 轮询错误

转载 作者:数据小太阳 更新时间:2023-10-29 06:47:27 25 4
gpt4 key购买 nike

我正在尝试在本地开发一个 PHP 应用程序,该应用程序是从我和我的合作伙伴使用的 Git 存储库中克隆的。

他使用 Mac,到目前为止,我一直在虚拟 Ubuntu Linux 环境中开发该应用程序。两种环境都能够使用具有相同文件结构和文件的 Compass 轮询。

在 Windows 7 上,我从 Cygwin 运行 Compass 命令,这是我用来从应用程序的根目录 (C:/wamp/www/application) 进行 Compass 轮询的命令:

compass watch --trace src/Application/ApplicationBundle/Resources/compass/

然后当我对 .scss 文件进行更改时,我收到以下错误:

/usr/lib/ruby/1.8/pathname.rb 第 716 行的 ArgumentError:不同的前缀:“/
/cygdrivecwampwwwlimelightsrclimelightlimelightbundleresourcescompasssrcpartials
_object.scss”和“/cygdrive/c/wamp/www/limelight/src/limelight/limelightbundle/
资源/compass/src”
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/path.rb:81:in 'split_path'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/path.rb:69:in 'run_callback'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/path.rb:55:in 'callback_action'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/path.rb:35:in 'update'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/state/directory.rb:39:在“已修改”中
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/state/directory.rb:37:in 'each'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/state/directory.rb:37:in 'modified'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/state/directory.rb:18:in 'refresh'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/polling.rb:17:in 'run'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/polling.rb:17:in 'each'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/polling.rb:17:in 'run'
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/polling.rb:15:在“循环”中
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/polling.rb:15:在“运行”中
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm/monitor.rb:26:在“运行”中
/usr/lib/ruby/gems/1.8/gems/fssm-0.2.7/lib/fssm.rb:20:in 'monitor'
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/lib/compass/commands/watch_project.rb:86:in '执行'
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/lib/compass/commands/base.rb:18:in 'execute'
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/lib/compass/commands/project_base.rb:19:in 'execute'
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/lib/compass/exec/sub_command_ui.rb:43:在“执行!”
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/lib/compass/exec/sub_command_ui.rb:15:在“运行!”
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/bin/compass:25
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/bin/compass:39:in 'call'
/usr/lib/ruby/gems/1.8/gems/compass-0.11.1/bin/compass:39
/usr/bin/compass:19:在“加载”中
/usr/bin/compass:19

我通过搜索所能找到的全部内容是,它可能与 Windows 将其驱动器名称大写这一事实有关,尽管返回路径中缺少斜杠让我认为问题可能出在其他地方。

有谁知道为什么我可能会在 Windows 中收到此错误,而在其他平台上却不会?

注意:我找到了一个 work-around涉及通过 Windows 的命令提示符而不是 Cygwin 安装 ruby​​(和 compass ),现在应该可以正常工作。尽管如此,如果有人有想法,我仍然很好奇问题可能是什么。

最佳答案

根据 this commit ,这是由称为 FSSM 的 compass 依赖项引起的问题。它用于监视 compass 中的文件更改。 this comment 中描述了解决方法.

似乎 FSSM 检测到 ruby​​ 在 Windows 框内运行,并以 Windows 的方式处理路径 (C:\blabla) .注释掉文件 <fssm_gem_path>/lib/fssm/pathname.rb 的第 26 行使 compass watch按预期工作。您还可以添加

unless path[0, 1] == File::SEPARATOR

到第 26 行的末尾使其工作。

关于ruby - Windows 7 上的 Compass 轮询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515018/

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