从Cygwin运行Nodejs'Lessc会抛出绝对路径错误

时间:2017-01-04 14:57:38

标签: node.js django cygwin less django-compressor

我有Windows 10(64位),Cygwin,Nodejs通过Windows Installer安装,lessc安装在Nodejs之上。

我正在努力让django-compressor按照文档中的建议使用预编译器:

COMPRESS_PRECOMPILERS = (
    #...
    ('text/less', 'lessc {infile} {outfile}'),
    #...
)

它抛出

lessc: ENOENT: no such file or directory, open 'C:\awkwardly\converted\cygwin\path\to\my\file.less'(注意添加了驱动器号)

我从Cygwin控制台测试了命令lessc。只要我使用相对路径它就可以正常工作,但是当我使用绝对路径时,它会将其转换为Windows路径,甚至可以预先添加驱动器号,例如

C:\cygdrive\d\projects\my\path\to\file.less

如何修复/解决此问题?

1 个答案:

答案 0 :(得分:0)

到目前为止,该选项正在使用cygpathlessc提供适当的Windows路径,如下所示:

COMPRESS_PRECOMPILERS = (
    #...
    ('text/less', 'lessc $(cygpath -w {infile}) > {outfile}'),
    #...
)

此外,必须将输出重定向到{outfile},而不是将{outfile}作为参数传递。