Không tìm thấy lệnh nào


12

Tôi đã cài đặt lesscqua npm, Trình quản lý gói Node.js và khi tôi chạy lessctừ thiết bị đầu cuối bằng cách sử dụng

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

nó hoạt động hoàn hảo.
Tuy nhiên, khi tôi đặt chính xác lệnh này trong tập lệnh bash less.sh, nó sẽ trả về lỗi

lessc : command not found.

Ngoài ra, tôi cần chạy lệnh này từ tập lệnh bash, bởi vì incron, một chương trình mà tôi đang sử dụng để biên dịch lại tập lệnh ít hơn của mình mỗi lần chúng được sửa đổi, không thể chạy lệnh được đề cập ở trên, mà tôi tin rằng có thể do phương pháp kỳ lạ để xử lý khoảng trắng trong lệnh.


Kịch bản không hoạt động được chạy trong cùng một thiết bị đầu cuối nơi lesschoạt động hoặc theo một số cách khác (cron, launcher, Alt-F2, khác)?
enzotib

Có một backtick ở cuối lệnh của bạn. Là lỗi đánh máy này chỉ ở đây hoặc nó cũng là trong less.sh của bạn?
elmicha

vâng, backtick là một lỗi đánh máy. @enzotib có vấn đề gì khi tập lệnh đang được chạy từ đó không và nó có thay đổi bất cứ điều gì có thể gây ra lỗi được đề cập ở trên không?
tiếng lóng

Vâng, nó quan trọng. Trong tình huống khác nhau, bạn có thể có PATH khác nhau.
enzotib

Cảm ơn, sau khi nghiên cứu biến $ PATH, tôi thấy rằng lessc nằm trong "/ opt / lessc / bin / lessc", cần được thêm vào $ PATH.
tiếng lóng

Câu trả lời:


7

Đâu là "lessc" thực thi? Làm:

type -p lessc

và ghi chú lại thư mục, và tìm ra nơi thư mục đó được thêm vào PATH của bạn. Tôi nghĩ rằng bash và incron không cung cấp nguồn cho các tệp thiết lập của bạn (.bashrc, v.v.) theo cùng một cách. Đọc trang man Bash, phần INVOCATION mô tả cách bash tìm các tệp khởi động của nó. Một grep nhanh thông qua nguồn incron cho thấy rằng nó không đề cập đến .bashrc hoặc .bash_profile.

Bạn có thể thay đổi lệnh "lessc" trong tập lệnh của mình thành:

/actual/path/to/lessc

mà bạn tìm thấy thông qua

type -p lessc

Hoặc thêm "/ thực tế / đường dẫn / đến / lessc /" vào $ PATH, bằng cách sử dụng lệnh "PATH = $ PATH: / fact / path / to / lessc /" trong tệp bash. Và cảm ơn vì đã đăng nó như một câu trả lời (không phải bình luận).
tiếng lóng

21
npm install -g less

Điều đó cài đặt Less.js trên toàn cầu. Có thể bạn đã thử điều này rồi nhưng nó không có trong tài liệu trên http://lesscss.org/ ; Tôi đã phải hỏi xung quanh trong # node.js trên FreeNode.


Tôi thực thi lệnh của bạn trong thiết bị đầu cuối Ubuntu của tôi nhưng tôi đã nhận được ERR npm! Từ chối xóa: / usr / bin / lessc không có trong / usr / lib / node_modules / less Tệp tồn tại: / usr / bin / lessc Di chuyển nó đi và thử lại. npm ERR! Hệ thống Linux 3.2.0-90-generic-pae npm ERR! lệnh "/ usr / bin / node" "/ usr / bin / npm" "install" "-g" "less" npm ERR! cwd / nhà / npm ERR tốt nhất! nút -v v0.10.40 npm ERR! npm -v 1.4.28 npm ERR! đường dẫn / usr / bin / lessc npm ERR! mã EEXIST npm ERR! không ok mã 0
DaSaDiYa ChaiTAnYa

0

trong Lubfox:

$ 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.