![從 bash 運行“lessc”時出現“找不到命令”](https://rvso.com/image/1036094/%E5%BE%9E%20bash%20%E9%81%8B%E8%A1%8C%E2%80%9Clessc%E2%80%9D%E6%99%82%E5%87%BA%E7%8F%BE%E2%80%9C%E6%89%BE%E4%B8%8D%E5%88%B0%E5%91%BD%E4%BB%A4%E2%80%9D.png)
我已經安裝了lessc
透過npm
Node.js 套件管理器,當我lessc
使用以下命令從終端運行時
lessc /var/www/less/style.less /var/www/css/style.css
它工作得很好。
但是,當我將這個完全相同的命令放入 bash 腳本中時,less.sh
它會回傳錯誤
lessc : command not found.
另外,我需要從 bash 腳本運行此命令,因為incron
我用來在每次修改 less 腳本時重新編譯它們的程式無法運行上述命令,我認為這可能是由於處理命令中空格的奇怪方法。
答案1
npm install -g less
這會在全域安裝 Less.js。也許您已經嘗試過這個,但它不在文件中http://lesscss.org/;我不得不在 FreeNode 上的 #node.js 中詢問。
答案2
“lessc”可執行檔在哪裡?做:
type -p lessc
記下該目錄,並找出該目錄添加到您的 PATH 中的位置。我認為 bash 和 incron 不會以相同的方式取得安裝檔(.bashrc 等)。閱讀 Bash 手冊頁,INVOCATION 部分描述了 bash 如何找到其啟動文件。對 incron 原始碼的快速 grep 顯示它沒有提到 .bashrc 或 .bash_profile。
您可以將腳本中的“lessc”命令更改為:
/actual/path/to/lessc
你發現透過
type -p lessc
答案3
在盧本圖:
$ type -p lessc
$ lessc
El programa «lessc» no está instalado. Puede instalarlo escribiendo:
sudo apt-get install node-less
$ sudo apt-get install node-less