LESS CSS 编译器返回空白

cbo*_*tig 8 css install-from-source nodejs

我什至不确定从哪里开始调试这个。几个月前,我可以很高兴地从我的 LESS 文件中编译我的 CSS。今天,我运行recess --compile test.lessorlessc test.less并且我只是得到一个空白的输出。没有错误。lessc test.less > test.css只是创建一个空白文件。LESS 错误的 twitter-bootstrap Makefile,尽管它没有帮助。

我正在使用以下简单test.less的调试方法:

@color: #4D926F;
#header {
  color: @color;
}
h2 {
   color: @color;
}
Run Code Online (Sandbox Code Playgroud)

我在 ubuntu 12.10 上,我曾经sudo apt-get install node-less提供lessc,并从 github 上的方向安装了凹槽 (npm)。两者都只给我空输出。

甚至lessc --version什么都不返回。

 which lessc
Run Code Online (Sandbox Code Playgroud)

显示

/usr/local/bin/lessc
Run Code Online (Sandbox Code Playgroud)

并且文件不为空。

我的node安装可能发生了一些事情,但不知道如何调试。 apt-get remove --purge node-less并重新安装没有帮助。

非常感谢您的帮助或任何调试技巧!

And*_*ini 7

在 Ubuntu 和其他发行版中,您应该更喜欢发行包而不是手动安装包。因此,首先,您应该删除通过npm安装的凹槽

sudo npm uninstall recess -g
Run Code Online (Sandbox Code Playgroud)

还要删除通过 安装的无节点apt-get,以便我们可以从一个干净的环境开始:

sudo apt-get remove node-less
Run Code Online (Sandbox Code Playgroud)

发出这两个命令后,确保以下文件不存在,如果存在则删除它们:

/usr/bin/lessc
/usr/local/bin/lessc
Run Code Online (Sandbox Code Playgroud)

还要检查以下目录(如果存在,则将其删除):

/node_modules/less
/usr/bin/node_modules/less
/usr/node_modules/less
/usr/local/bin/node_modules/less
/usr/local/node_modules/less
~/.node_modules/less
~/.node_libraries/less
Run Code Online (Sandbox Code Playgroud)

所有这些文件和目录都可以通过各种方式生成。不同的安装方法导致使用的目录不同。删除所有这些文件对于确保没有任何冲突很重要:您应该始终在系统上安装一个且只有一个版本的软件。唯一的例外是当发行版本身提供相同软件的不同版本时(在这种情况下,制作软件包以便它们不会相互冲突)。

现在你有一个干净的环境,可以安装无节点

sudo apt-get install node-less
Run Code Online (Sandbox Code Playgroud)

请注意,无节点包不提供/usr/bin/recess,只是/usr/bin/lessc,因此如果recess --compile失败(或者,更好,它必须失败)是完全可以的。

如果lessc还是不行,请检查输出which lessc。请记住:如果它确实返回与 不同的东西/usr/bin/lessc,则意味着您没有使用分发包中的lessc,而是使用其他东西。