Я столкнулся с проблемой с частью скрипта генерации Rails, которая ищет путь к плагину для файлов с соответствующими именами, чтобы найти генераторы. На одной из моих систем Ruby установлен в c:\dev\ruby
, а каталог проекта - d:\local\projects
Метод Ruby Pathname#relative_path_from
(который вызывается сценарием генератора Rails) блокирует эту конфигурацию при попытке найти относительный путь между c:\
и d:\
...
Кто-нибудь сталкивался с такой ситуацией с relative_path_from
и несколькими дисками в Windows? Есть ли обходной путь для сценария генератора рельсов?
Вот пример из IRB:
>> x = Pathname.new('c:/dev/ruby')
=> #<Pathname:c:/dev/ruby>
>> y = Pathname.new('d:/local/projects')
=> #<Pathname:d:/local/projects>
>> x.relative_path_from(y)
ArgumentError: different prefix: "c:/" and "d:/local/projects"
from c:/dev/ruby/lib/ruby/1.8/pathname.rb:709:in `relative_path_from'
from (irb)...
Если решения не существует, я всегда могу убедиться, что мои каталоги установки и проекта Ruby находятся на одном диске, но это помешает мне когда-либо работать с каталогом проекта на pendrive ...
ОБНОВЛЕНИЕ: Оказывается, проблема связана именно с некоторыми изменениями, внесенными Radiant CMS в переменные конфигурации Rails. Это изменение добавляет дополнительные каталоги плагинов к проекту, некоторые из которых могут пересекать границы диска. Так как код генератора Rails не ожидает такого скачка диска, генератор ломается на моем компьютере ...