공백을 반환하는 적은 CSS 컴파일러


8

디버깅을 시작할 위치조차 확실하지 않습니다. 몇 달 전에 LESS 파일에서 CSS를 즐겁게 컴파일 할 수있었습니다. 오늘은 recess --compile test.less또는 하나를 실행 lessc test.less하고 빈 출력을 얻습니다. 오류가 없습니다. lessc test.less > test.css그냥 빈 파일을 만듭니다. LESS 오류에 대한 twitter-bootstrap Makefile은 모두 유용하지 않습니다.

다음 간단한 test.less디버깅을 사용하고 있습니다 .

@color: #4D926F;
#header {
  color: @color;
}
h2 {
   color: @color;
}

나는 우분투 12.10에 있고을 sudo apt-get install node-less제공 lessc하고 github (npm) 의 지시 사항에서 오목 부를 설치했습니다 . 둘 다 빈 출력을 제공합니다.

심지어 lessc --version아무 것도 반환하지 않습니다.

 which lessc

/usr/local/bin/lessc

파일이 비어 있지 않습니다.

뭔가 내에게 무슨 일이 있어야합니다 node아마 설치하지만,이를 아무 생각 디버깅하지하는 방법. apt-get remove --purge node-less다시 설치해도 도움이되지 않았습니다.

디버깅에 대한 도움말이나 팁을 주셔서 감사합니다!


그래, /usr/local/bin/lessc이 공식의 repo에서 때 올바른 위치가 아닙니다 : packages.ubuntu.com/quantal/all/node-less/filelist ... 난 당신이 사용하는 시스템 경로에 설치 추측 sudo npm ...정말 좋은 생각이다.
dAnjou

답변:


7

우분투 및 기타 배포판에서는 수동으로 패키지를 설치하는 대신 배포판 패키지를 선호해야합니다. 따라서 우선 npm을 통해 설치된 리 세스를 제거해야합니다 .

sudo npm uninstall recess -g

깨끗한 환경에서 시작할 수 있도록을 통해 설치된 노드리스 패키지 도 제거하십시오 apt-get.

sudo apt-get remove node-less

이 두 명령을 실행 한 후 다음 파일이 존재하지 않는지 확인하고 존재하는 경우 삭제하십시오.

/usr/bin/lessc
/usr/local/bin/lessc

또한 다음 디렉토리를 확인하고 존재하는 경우 제거하십시오.

/node_modules/less
/usr/bin/node_modules/less
/usr/node_modules/less
/usr/local/bin/node_modules/less
/usr/local/node_modules/less
~/.node_modules/less
~/.node_libraries/less

모든 파일과 디렉토리는 다양한 방법으로 생성 될 수 있습니다. 다른 설치 방법으로 인해 다른 디렉토리가 사용됩니다. 모든 파일을 제거하는 것이 중요합니다 아무것도 충돌 : 당신은 항상 하나, 그리고 하나의 시스템에 설치된 소프트웨어의 버전이 있어야합니다. 배포 자체가 동일한 소프트웨어의 다른 버전을 제공하는 경우는 예외입니다 (이 경우 패키지는 서로 충돌하지 않도록 만들어집니다).

이제 당신은 깨끗한 환경을 가지고 있으며 노드리스를 설치할 수 있습니다 :

sudo apt-get install node-less

있습니다 노드가없는 패키지가 제공되지 않습니다 /usr/bin/recess만, /usr/bin/lessc이 경우 완벽하게 OK, 그래서 recess --compile실패 (더 나은, 또는, 그것은 해야한다 실패).

경우 lessc여전히 작동하지 않습니다,의 출력을 확인하시기 바랍니다 which lessc. 기억하십시오 :와 다른 것을 반환 /usr/bin/lessc하면 배포 패키지에서 lessc를 사용하지 않고 다른 것을 사용한다는 것을 의미합니다.


배포판 패키지를 선호 할 필요는 없지만 유사한 바이너리를 제공하는 배포판과 컴파일 된 패키지를 혼합하는 것은 실제로 문제의 레시피입니다.
Javier Rivera

@ 하비에르 : 안녕하세요. 배포 패키지 만 선택할 필요는 없지만 Ask Ubuntu를 사용 중이며 가장 적합한 솔루션은 배포 패키지 사용 방법을 알려주는 솔루션이라고 생각합니다. :-)
Andrea Corbellini

신중하게 설명해 주셔서 감사합니다. 이제 모든 것이 제대로 작동합니다. 어떻게 npm의 dud 버전을 덜 설치했는지 알지 못했지만 유사한 배포 및 컴파일 된 패키지를 혼합하지 않는 것이 좋습니다. 비록 특히 루비 등과 같은 배포판 패키지에만 의존 할 수없는 것은 유감입니다.
cboettig

1
@ cboettig : 귀하의 의견에 감사드립니다. 정말 감사합니다. Javier가 지적했듯이 배포 패키지를 사용하지 않아도됩니다. 그러나 타사 소프트웨어를 설치할 때는 시스템 전체에 설치하지 마십시오. 예를 들어, 배포에서 제공하지 않은 소프트웨어를 실행해야 할 때 (또는 특수 시스템 구성이 필요한 경우) Python Virtualenv, chroot, Linux Containers (LXC) 및 Qemu 가상 머신을 사용합니다. 이러한 모든 기술 (및 기타 여러 기술)은 소프트웨어를 분리하여 고통을 피하는 데 도움이됩니다.
Andrea Corbellini

실행 lessc부여합니다 /usr/local/bin/lessc no such file or directory,하지만 실행하는 which lessc수 있습니다 /usr/bin/lessc. lessc를 사용하려면 어떻게해야 which lessc합니까?
Jacob Valenta

3

안드레아의 대답에서 단계를 수행 한 후에는 실행해야 할 수 있습니다 source ~/.bashrc당신이 받고 있다면 bash: /usr/local/bin/lessc: No such file or directory당신은 lessc하고 실행할 때 which lessc쇼를 /usr/bin/lessc. $ PATH 환경 변수를 업데이트합니다.


또한 unix.stackexchange.com/questions/5609/… 의 답변을 참고하십시오 .
Jeppe Mariager-Lam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.