lessc'无法被识别为内部或外部命令、可操作程序或批处理文件

4 投票
5 回答
10169 浏览
提问于 2025-04-18 03:03

我在工作中一直用Sublime Text 3来编译.less格式的CSS文件,但在我的本地电脑上却无法正常工作。我觉得这可能和lessc的路径变量有关,但我不知道该怎么找到需要添加到路径变量中的那个路径。有没有人能帮帮我?

我在使用Windows 7和Sublime Text 3。

这里是错误信息:

Writing file /C/xampp/htdocs/project/sites/project.localhost/themes/project/less/home.less with encoding UTF-8 (atomic)
[less2css] Converting C:\xampp\htdocs\project\sites\project.localhost\themes\project\less\home.less to C:\xampp\htdocs\project\sites\project.localhost\themes\project\css\home.css
error: less2css error: [WinError 2] The system cannot find the file specified
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 549, in run_
    return self.run(edit)
  File "less2css in C:\Users\myMachine\AppData\Roaming\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 48, in run
  File "less2css in C:\Users\myMachine\AppData\Roaming\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 15, in __init__
  File "less2css in C:\Users\myMachine\AppData\Roaming\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 29, in show
  File "C:\Program Files\Sublime Text 3\sublime.py", line 86, in error_message
    sublime_api.error_message(msg)
TypeError: String required
Running l e s s c   " . / m a i n . l e s s "   " . . / c s s / m a i n . c s s "     - - s o u r c e - m a p   - - n o - c o l o r  

5 个回答

0

这个命令解决了我的问题:

npm install -g less
0

在Windows系统上,你可以安装git-bash终端。然后执行 npm install less 这个命令,这样就会在你的项目里安装一个叫做less的工具。接着,在git-bash终端中,找到你的项目文件夹,然后执行 ./node_modules/less/bin/lessc css/styles.less css/styles.css 这个命令。

1

你可以通过以下方式安装less编译器:

npm install less

然后你可以在这个路径找到编译器:

\node_modules\less

接着把lessc文件复制到你的.less文件所在的地方,然后在命令提示符(cmd)中运行编译器。

lessc styles.less styles.css

完成了!

2

因为你的系统找不到“lessc”这个命令行工具,所以如果你的电脑上已经安装了Node.js,你可以通过npm来简单安装它:

npm install -g less

6

这个问题很好,因为lessc的路径和Windows上普通安装路径有很多不同之处。我确认了,lessc确实需要添加到Windows的一个叫做PATH的环境变量中,这样sublime-less2css才能正常工作。这是sublime-less2css模块的维护者直接告诉我的:https://github.com/timdouglas/sublime-less2css

  1. 打开控制面板
  2. 在控制面板的搜索框里输入'env',然后选择'编辑系统环境变量'这个选项(选择后,告诉用户账户控制对话框'继续')
  3. 点击'环境变量'按钮
  4. 找到系统变量部分 --> 点击一下写着PATH的那一行 --> 点击'编辑'
  5. 在弹出的窗口字符串的末尾添加以下内容:

     ;C:\Users\{add_your_Windows_username_here}\AppData\Roaming\npm
    

因为我的Windows用户名是cknoettg,所以我的看起来是这样的:

     ;C:\Users\cknoettg\AppData\Roaming\npm

最后,点击确定 --> 确定 --> 确定

现在,重新尝试运行程序。

重要提示:要让这个解决方案有效,你必须使用npm(Node.js包管理器)在你的Windows机器上安装less。(你可以在这里获取:http://nodejs.org/

如果你用其他方法安装了lessc,那么你需要添加到环境变量的确切路径会和我建议的不同。假设你直接在一个叫"C:\less\bin"的文件夹里安装了'lessc'。在这种情况下,你需要添加:

    ;C:\less\bin

到你的环境变量PATH中。

另外:我注意到你发的错误信息中有以下这一行:

    less2css in C:\Users\myMachine\AppData\Roaming\Sublime Text 3\Installed Packages\Less2Css.sublime-package

你的Python文件可能是硬编码了路径C:\Users\myMachine\AppData\Roaming\Sublime Text 3\Installed Packages\Less2Css.sublime-package。如果是这样,你的lessc程序可能在路径:C:\Users{insert_your_Windows_username_here}\AppData\Roaming\Sublime Text 3\Installed Packages\。

如果这是真的,那么你不仅需要用:

    ;C:\Users\{insert_your_Windows_username_here}\AppData\Roaming\Sublime Text 3\Installed Packages\

来修改你的Windows环境变量PATH,还需要手动编辑你的Python文件,把文本'myMachine'替换成你当前机器上的Windows用户名。你甚至可以尝试直接修改Python代码,而不改变Windows环境变量,但这可能有效也可能无效。

如果你想知道如何在不编辑环境变量的情况下运行你的程序,可以看看这里(虽然我不推荐这样做,原因有很多,最主要的是每次运行脚本时需要额外输入):如何在Node.js和Windows上安装和运行lessc?

祝你好运!

撰写回答