меньше CSS и и узел js проблемы

Когда я пытаюсь установить меньше компилятора CSS под своим полем Ubuntu 13.10, я получаю следующее сообщение, и lescss не делают работы. Каким образом я могу решить проблему? Я выполняюсь:

sudo npm install -g less

После этого я получаю список e с сообщениями OK:

npm http 304 https://registry.npmjs.org/cryptiles
npm http 304 https://registry.npmjs.org/ctype/0.5.2
npm http 304 https://registry.npmjs.org/combined-stream
npm http GET https://registry.npmjs.org/delayed-stream/0.0.5
npm http 304 https://registry.npmjs.org/sntp
npm http 304 https://registry.npmjs.org/boom
npm http 304 https://registry.npmjs.org/delayed-stream/0.0.5

И список, законченный со следующим:

/usr/local/bin/lessc -> /usr/local/lib/node_modules/less/bin/lessc
less@1.7.0 /usr/local/lib/node_modules/less
├── mime@1.2.11
├── mkdirp@0.3.5
├── source-map@0.1.33 (amdefine@0.1.0)
├── clean-css@2.1.8 (commander@2.1.0)
└── request@2.34.0 (json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, qs@0.6.6, tunnel-agent@0.3.0, oauth-sign@0.3.0, node-uuid@1.4.1, tough-cookie@0.12.1, http-signature@0.10.0, hawk@1.0.0, form-data@0.1.2)

После этого, когда я попробовал следующие команды:

echo "@foo: 25px; #foobar{font-size: @foo};" > style.less
sudo lessc ./style.less ./style.css

Я получаю следующую ошибку:

/usr/bin/env: node: No such file or directory

После того, как я выполнился

ln -s /usr/bin/node /usr/local/bin/nodejs

и созданные символьные ссылки там не являются никакими ошибками, но lessc компилятор не делают работы правильно. Я создал файл для тестирования. Это содержание:

 cat style.less 
@color: #4D926F;

#header {
  color: @color;
}
h2 {
  color: @color;
}`

и после попытки

lessc styles.less > styles.css

Существует созданный файл - styles.css, но файл пуст. Я также пробую команды, которые я попробовал, прежде - посмотрите вершину на сообщении. Но это не работа. Я был бы очень благодарен за любой совет и рекомендации.

С уважением.

3
задан 15 April 2014 в 10:40

3 ответа

sudo ln -s /usr/bin/nodejs /usr/bin/node

То, что я сделал другой путь, кажется, делает поврежденную символьную ссылку для меня.

Это должно доказать, что все работает:

file $(which node)
/usr/bin/node: symbolic link to `/usr/bin/nodejs'

(обратите внимание, что это не говорит что разорванная символьная связь),

Unfortunaltly я верю ответу terdon, будет на самом деле мешать корректному ответу работать

# Don't do this:
sudo apt-get install node
file $(which node)
/usr/sbin/node: symbolic link to `ax25-node' 

apt-cache show node|grep Description-en
Description-en: Amateur Packet Radio Node program (transitional package)

(Вы хотите nodejs не Любительская Пакетная радиосвязь, я думал бы :))

Удаление того пакета узла должно решить ту проблему

- Конец полезной информации (если Вам не нравится любительское радио) -


Править: Таким образом, целая проблема состоит в том, что уже был пакет в Debian, названном 'узлом', Debian был расстроен в nodejs для того, чтобы не проверять, не было ли управление именованный узел уже принято другим пакетом (программа любительского радио). Таким образом, Debian эффективно повредил программы узла, потому что пакеты как меньше, которые ищут команду, названную 'узлом'.

Если Вы, оказывается, используете пакет любительского радио затем вместо того, чтобы делать символьную ссылку, Вы могли бы изменить строку хижины в lessc файл к #!/usr/bin/env nodejs поскольку terdon сказал в комментариях ниже.

Отметьте, используете ли Вы другие npm пакеты, Вам, вероятно, придется измениться, много строк хижины поэтому только делает это при реальном использовании любительского радио :)

Обновление: хорошо, таким образом, я прочитал ссылку yorodm немного больше, и debian изменил пакет Любительского радио на https://packages.debian.org/sid/ax25-node, Надежный человек на самом деле использует это!

Таким образом, если Вы используете любительское радио, просто удаляют /usr/bin/node который является символьной ссылкой на /usr/bin/ax25-node замените его a node символьная ссылка на /usr/bin/nodejs как наверху этого ответа, необходимо будет сделать это снова, если Вы просто установите любительское радио, поскольку это переопределяет.

Теперь, если Вы хотите использование любительского радио 'ax25-узел' как команда :D

Нижняя строка это - простой в использовании 'узел' для nodejs, чтобы досадить политике.

Обновление для записи/архива

Это сообщение было главным образом для людей, которые установили чиновника sudo apt-get install nodejs пакет в Ubuntu 14.04 (испытанный Тар), который удалил совместимость путем изменения команды 'узел' на 'nodejs'.

В то время, когда фактическое лучшее решение состояло бы в том, чтобы установить ppa Chris Lea на панели запуска, но теперь он переместил это снова в другое местоположение, и это является лучшим (не носящийся с символьными ссылками) из готового решения Chris Lea:

curl -sL https://deb.nodesource.com/setup | sudo bash -

(Теперь разработанный и для Debian и для Ubuntu)

Ссылки: https://github.com/joyent/node/wiki/installing-node.js-via-package-manager https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource

Это - то, что joyent связывает на там веб-сайте, таким образом, это - то, что я использую :D

7
ответ дан 17 November 2019 в 19:14

Согласно этот Debian изменил имя двоичного файла узла к nodejs (который является/usr/bin/node, и/usr/bin/nodejs) Для устранения любых проблем в коде просто делают символьную ссылку в/usr/local/bin

sudo ln -s /usr/bin/node /usr/local/bin/nodejs
2
ответ дан 17 November 2019 в 19:14

При установке nodejs из официального репозитория можно также установить пакет nodejs-прежней-версии, это добавит недостающую команду узла.

2
ответ дан 17 November 2019 в 19:14

Другие вопросы по тегам:

Похожие вопросы: