Macos 在OSX上构建CSS::LESS

Macos 在OSX上构建CSS::LESS,macos,perl,Macos,Perl,有人成功安装在OS X上吗 对我来说,它失败了,有很多错误,比如下一个: $ make test /Users/me/perl5/perlbrew/perls/perl-5.16.3/bin/perl Build --makefile_env_macros 1 test t/00.load.t ................. 1/1 # Testing CSS::LESS 0.0.3 t/00.load.t ................. ok t/10.dry-run.t ......

有人成功安装在OS X上吗

对我来说,它失败了,有很多错误,比如下一个:

$ make test
/Users/me/perl5/perlbrew/perls/perl-5.16.3/bin/perl Build --makefile_env_macros 1 test
t/00.load.t ................. 1/1 # Testing CSS::LESS 0.0.3
t/00.load.t ................. ok
t/10.dry-run.t ..............
    #   Failed test '"include_paths" parameter (set to constructor)'
    #   at t/10.dry-run.t line 20.
    #                   'lessc /var/folders/7l/nhyscwy14bjb_sxr_t2gynpm0000gn/T/RoPSlWoxEQ --include-path=/Users/me/.cpanm/work/1395039258.75205/CSS-LESS-v0.0.3/t/foo/:/bar/ --verbose --no-color'
    #     doesn't match '(?^:^lessc /tmp/\w+ --include-path=/Users/me/.cpanm/work/1395039258.75205/CSS-LESS-v0.0.3/t/foo/:/bar/ --verbose --no-color$)'
这是一个错误的测试预期,因为在OSX上,临时文件是在/var/folders/中创建的。。。。而不是在/tmp中

类似的错误报告在中。这里有一个:

问这个问题是因为如果有可能构建CSS::LESS os X,我们很乐意知道如何构建

编辑 嗯,上面的成功测试报告和模块本身都很奇怪,因为

# Testing CSS::LESS 0.0.3
t/00.load.t ................. ok
t/10.dry-run.t .............. ok
t/90.lessc_compile.t ........ skipped: Not installed lessc
t/91.lessc_compile_error.t .. skipped: Not installed lessc
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - the module DEPENDS on 'lessc'

t/92.lessc_not-installed.t .. ok
All tests successful.
Files=5, Tests=8,  1 wallclock secs ( 0.03 usr  0.02 sys +  0.29 cusr  0.06 csys =  0.40 CPU)
Result: PASS
但是,不管缺少lessc,什么应该是错误,因为模块依赖于它进行测试

t/10.dry-run.t .............. ok
完成为OK-在我的系统上抛出一个错误

如果有人关心,我的perl-V

系统:

Darwin marvin.local 13.1.0 Darwin Kernel Version 13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64
编译器/gcc:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix

我为这个问题找到了部分答案

测试可能在某种程度上取决于$TMPDIR shell变量。在OS X上,默认情况下,该WARABLE指向每个登录用户唯一的目录,并位于/var/folders/…,如下所示:

$ echo $TMPDIR
/var/folders/7l/nhyscwy14bjb_sxr_t2gynpm0000gn/T/
手动将默认值$TMPDIR更改为/tmp时,使用:

并运行CSS::LESS

perl Makefile.PL
make
make test
得到

子测验

t/10.dry-run.t .............. ok
现在没问题了。无论如何,模块没有生成,但是抛出了另一个LESC错误

因此,尼尔·鲍尔(Neil Bower)对成功测试报告的总结可能也改变了$TMPDIR。由于他没有安装外部命令,lessc获得了一个成功的结果

演示:

$ sudo mv /opt/local/bin/{lessc,lessc1}    #rename lessc to lessc1
Password:

$ make test
/Users/me/perl5/perlbrew/perls/perl-5.16.3/bin/perl Build --makefile_env_macros 1 test
t/00.load.t ................. 1/1 # Testing CSS::LESS 0.0.3
t/00.load.t ................. ok   
t/10.dry-run.t .............. ok   
t/90.lessc_compile.t ........ skipped: Not installed lessc
t/91.lessc_compile_error.t .. skipped: Not installed lessc
t/92.lessc_not-installed.t .. ok   
All tests successful.
Files=5, Tests=8,  1 wallclock secs ( 0.07 usr  0.03 sys +  0.56 cusr  0.11 csys =  0.77 CPU)
Result: PASS

棒极了:-不幸的是-这是一个错误的结果,CSS::LESS在OS X上没有正常构建。

/var/folders/7l/nhyscwy14bjb\U sxr\U t2gynpm0000gn/t/RoPSlWoxEQ与m{/tmp/\w+}不匹配。似乎它想测试它,得到了正确的参数,并对tmp文件夹的位置做了一些假设。或者您的临时文件夹是一个符号链接,这会混淆测试。这很可能是一个糟糕的测试,但我现在不能研究它。@ikegami在每个OS X默认安装上/tmp都是private/tmp的符号链接。但部分发现如何制作成功的测试报告。但在这种情况下,成功意味着跳过了测试…-看我的答案。所以最初的失败是一个糟糕的测试。因为不管TMPDIR的值如何,它都可以工作,所以不应该检查TMPDIR是否以/tmp/开头。忽略它不应该是个问题。不过,这一新的失败听起来确实像是合法的失败。
/Users/me/perl5/perlbrew/perls/perl-5.16.3/bin/perl Build --makefile_env_macros 1 test
t/00.load.t ................. 1/1 # Testing CSS::LESS 0.0.3
t/00.load.t ................. ok   
t/10.dry-run.t .............. ok   
t/90.lessc_compile.t ........ 2/? 
#   Failed test 'LESS compile test with compress'
#   at t/90.lessc_compile.t line 19.
#          got: 'a{border-bottom:solid 3px #000}div{width:100px}a:link{color:#1a1a1a}'
#     expected: 'a{border-bottom:solid 3px #000}
# div{width:100px}
# a:link{color:#1a1a1a}
# '
# Looks like you failed 1 test of 3.
t/90.lessc_compile.t ........ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/3 subtests 
t/91.lessc_compile_error.t .. ok   
t/92.lessc_not-installed.t .. ok   

Test Summary Report
-------------------
t/90.lessc_compile.t      (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
Files=5, Tests=15,  2 wallclock secs ( 0.05 usr  0.02 sys +  1.46 cusr  0.35 csys =  1.88 CPU)
Result: FAIL
Failed 1/5 test programs. 1/15 subtests failed.
make: *** [test] Error 255
t/10.dry-run.t .............. ok
$ sudo mv /opt/local/bin/{lessc,lessc1}    #rename lessc to lessc1
Password:

$ make test
/Users/me/perl5/perlbrew/perls/perl-5.16.3/bin/perl Build --makefile_env_macros 1 test
t/00.load.t ................. 1/1 # Testing CSS::LESS 0.0.3
t/00.load.t ................. ok   
t/10.dry-run.t .............. ok   
t/90.lessc_compile.t ........ skipped: Not installed lessc
t/91.lessc_compile_error.t .. skipped: Not installed lessc
t/92.lessc_not-installed.t .. ok   
All tests successful.
Files=5, Tests=8,  1 wallclock secs ( 0.07 usr  0.03 sys +  0.56 cusr  0.11 csys =  0.77 CPU)
Result: PASS