Bash'den “lessc” çalıştırılırken “komut bulunamadı”


12

Node.js Paket Yöneticisi lesscaracılığıyla yükledim npmve lessckullanarak terminalden çalıştırdığımda

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

mükemmel çalışıyor.
Ancak, aynı komutu bir bash betiğine koyduğumda less.sh, hatayı döndürür

lessc : command not found.

Ayrıca, bu komutu bir bash komut dosyasından çalıştırmam gerekiyor, çünkü incrondaha az komut dosyamı her değiştirildiklerinde yeniden derlemek için kullandığım bir program, yukarıda belirtilen komutu çalıştıramaz. komutta boşluk bırakmaya yarayan garip yöntemler.


Çalışmayan komut dosyası, çalıştığı terminalde lesscveya başka yollarla (cron, başlatıcı, Alt-F2, diğer) çalıştırılıyor mu?
enzotib

Komutunun sonunda bir geri dönüş var. Bu yazım hatası sadece burada mı yoksa less.sh dosyasında mı?
elmicha

Evet backtick bir yazım hatasıydı. @enzotib betiğin nereden çalıştırıldığı önemli midir ve yukarıda belirtilen hataya neden olabilecek herhangi bir şeyi değiştirir mi?
Argo

Evet, önemli. Farklı durumlarda farklı PATH'leriniz olabilir.
enzotib

Teşekkürler, $ PATH değişkeni araştırdıktan sonra lessc "/ opt / lessc / bin / lessc", buldum ki $ PATH eklenmelidir.
argo

Yanıtlar:


7

"Lessc" yürütülebilir dosyası nerede? Yapmak:

type -p lessc

ve dizini not edin ve bu dizinin PATH'nize nereye eklendiğini bulun. Ben bash ve incron kurulum dosyalarınızı (.bashrc, vb.) Aynı şekilde kaynak olmadığını düşünüyorum. Bash man sayfasını okuyan INVOCATION bölümü, bash'ın başlangıç ​​dosyalarını nasıl bulduğunu açıklar. Incron kaynağındaki hızlı bir grep, .bashrc veya .bash_profile'dan bahsetmediğini gösterir.

Senaryonuzdaki "lessc" komutunu şu şekilde değiştirebilirsiniz:

/actual/path/to/lessc

üzerinden bulduğun

type -p lessc

Veya bash dosyasındaki "PATH = $ PATH: / actual / path / to / lessc /" komutunu kullanarak "/ actual / path / to / lessc /" komutunu $ PATH öğesine ekleyin. Ve bunu cevap olarak gönderdiğiniz için teşekkürler (yorum değil).
Argo

21
npm install -g less

Bu, Less.js'yi global olarak yükler. Belki bunu zaten denediniz, ancak http://lesscss.org/ ; FreeNode üzerinde # node.js'de sormak zorunda kaldım.


Komutumu ubuntu terminalimde yürütüyorum ama npm ERR! Silmeyi reddetme: / usr / bin / lessc / usr / lib / node_modules / less dosya yok Dosya var: / usr / bin / lessc Taşıyın ve tekrar deneyin. npm ERR! Sistem Linux 3.2.0-90-jenerik-pae npm ERR! komut "/ usr / bin / node" "/ usr / bin / npm" "install" "-g" "daha az" npm ERR! cwd / ev / en iyi npm ERR! düğüm -v v0.10.40 npm ERR! npm -v 1.4.28 npm ERR! yol / usr / bin / lessc npm ERR! kodu EEXIST npm ERR! ok kodu 0
DaSaDiYa ChaiTAnYa

0

Lubuntu'da:

$ 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.