lessc'无法被识别为内部或外部命令、可操作程序或批处理文件
我在工作中一直用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 个回答
这个命令解决了我的问题:
npm install -g less
在Windows系统上,你可以安装git-bash终端。然后执行 npm install less
这个命令,这样就会在你的项目里安装一个叫做less的工具。接着,在git-bash终端中,找到你的项目文件夹,然后执行 ./node_modules/less/bin/lessc css/styles.less css/styles.css
这个命令。
你可以通过以下方式安装less编译器:
npm install less
然后你可以在这个路径找到编译器:
\node_modules\less
接着把lessc文件复制到你的.less文件所在的地方,然后在命令提示符(cmd)中运行编译器。
lessc styles.less styles.css
完成了!
因为你的系统找不到“lessc”这个命令行工具,所以如果你的电脑上已经安装了Node.js,你可以通过npm来简单安装它:
npm install -g less
这个问题很好,因为lessc的路径和Windows上普通安装路径有很多不同之处。我确认了,lessc确实需要添加到Windows的一个叫做PATH的环境变量中,这样sublime-less2css才能正常工作。这是sublime-less2css模块的维护者直接告诉我的:https://github.com/timdouglas/sublime-less2css
- 打开控制面板
- 在控制面板的搜索框里输入'env',然后选择'编辑系统环境变量'这个选项(选择后,告诉用户账户控制对话框'继续')
- 点击'环境变量'按钮
- 找到系统变量部分 --> 点击一下写着PATH的那一行 --> 点击'编辑'
在弹出的窗口字符串的末尾添加以下内容:
;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?
祝你好运!