bashから「lessc」を実行すると「コマンドが見つかりません」


12

Node.js Package Manager lesscを介してインストールしnpmlesscターミナルを使用して実行すると

lessc /var/www/less/style.less /var/www/css/style.css

完璧に機能します。
ただし、このまったく同じコマンドをbashスクリプトに入れるless.shと、エラーが返されます

lessc : command not found.

また、bashスクリプトからこのコマンドを実行する必要があります。これincronは、変更するたびにlessスクリプトを再コンパイルするために使用しているプログラムが、上記のコマンドを実行できないためです。コマンド内の空白を処理するための奇妙な方法。


動作しないスクリプトは、動作するのと同じ端末で実行されlesscますか、それとも他の方法(cron、ランチャー、Alt-F2、その他)で実行されますか?
エンゾチブ

コマンドの最後にバックティックがあります。このタイプミスはここだけですか、それともless.shにもありますか?
elmicha

はい、バックティックはタイプミスでした。@enzotibは、スクリプトがどこから実行されているかは重要であり、上記のエラーを引き起こす可能性のあるものを変更しますか?
スラング

はい、それは重要です。異なる状況では、異なるPATHを持つことができます。
エンゾチブ

おかげで、$ PATH変数を調べた後、lesscが "/ opt / lessc / bin / lessc"にあることがわかりました。これは$ PATHに追加する必要がありました。
スラング

回答:


7

「lessc」実行可能ファイルはどこにありますか?行う:

type -p lessc

ディレクトリをメモして、そのディレクトリがPATHに追加されている場所を見つけます。bashとincronは、セットアップファイル(.bashrcなど)を同じ方法でソースしないと思います。Bashのmanページを読んで、INVOCATIONセクションにbashがスタートアップファイルを見つける方法が説明されています。incronソースの簡単なgrepは、.bashrcまたは.bash_profileについて言及していないことを示しています。

スクリプトの「lessc」コマンドを次のように変更できます。

/actual/path/to/lessc

あなたが経由して見つけた

type -p lessc

または、bashファイルでコマンド「PATH = $ PATH:/ actual / path / to / lessc /」を使用して、「/ actual / path / to / lessc /」を$ PATHに追加します。そして、コメントとしてではなく回答として投稿してくれてありがとう。
スラング

21
npm install -g less

これにより、Less.jsがグローバルにインストールされます。すでにこれを試しているかもしれませんが、http://lesscss.org/のドキュメントにはありません。FreeNodeの#node.jsで尋ねなければなりませんでした。


私のubuntu端末でコマンドを実行しましたが、npm ERR!削除の拒否:/ usr / lib / node_modules / lessにない/ usr / bin / lesscファイルが存在します:/ usr / bin / lessc移動して、再試行してください。npm ERR!System Linux 3.2.0-90-generic-pae npm ERR!コマンド "/ usr / bin / node" "/ usr / bin / npm" "install" "-g" "less" npm ERR!cwd / home / best npm ERR!node -v v0.10.40 npm ERR!npm -v 1.4.28 npm ERR!パス/ usr / bin / lessc npm ERR!コードEEXIST npm ERR!OKではないコード0
DaSaDiYa ChaiTAnYa

0

lubuntuで:

$ 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.