Попытка запустить casperjs на Ubuntu 12.04. После его установки при запуске я получаю:
09:20 $ ll /usr/local/bin/casperjs
lrwxrwxrwx 1 root root 26 Nov 6 16:49 /usr/local/bin/casperjs -> /opt/casperjs/bin/casperjs
09:20 $ /usr/bin/env python --version
Python 2.7.3
09:20 $ cat /opt/casperjs/bin/casperjs | head -4
#!/usr/bin/env python
import os
import sys
09:20 $ casperjs
: No such file or directory
09: 22 $ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Итак, Python присутствует и работает, casperjs указывает на правильное место, и это скрипт на python. Но когда я запускаю его, я получаю «Нет такого файла».
Я могу это исправить, изменив первую строку файла Python casperjs с:
#!/usr/bin/env python
на:
#!/usr/bin/python
Результат:
$ casperjs --version
1.1.0-DEV
Мне удалось это исправить, но мне интересно, почему это не сработало с #!/usr/bin/env python
, так как это, кажется, нормальная строка интерпретатора. У меня что-то настроено неправильно?
Вот шаги, чтобы получить casperjs:
$ git clone git://github.com/n1k0/casperjs.git
$ cd casperjs
$ ln -sf `pwd`/bin/casperjs /usr/local/bin/casperjs
$ casperjs
: No such file or directory
Raha mahita ny lesoka ianao ": Tsy misy rakitra na lahatahiry toy izany" (tsy misy na inona na inona alohan'ny tsanganana), midika izany fa ny tsipika shebang anao dia misy fiverenan'ny kalesina amin'ny farany, azo inoana satria novaina teo ambanin'ny Windows (izay mampiasa CR, LF ho mpanasaraka tsipika). Ny toetran'ny CR dia mahatonga ny kursor hiverina any am-piandohan'ny tsipika aorian'ny fanontana ny fiandohan'ny hafatra ny akorandriaka ary noho izany dia ho hitanao ny ampahany aorian'ny CR izay mamarana ny tadin'ny mpandika teny izay ampahan'ny hafatra diso.
Esory ny CR: ny tsipika shebang dia mila manana tsipika Unix mifarana (linefeed ihany). Python mihitsy no mamela ny fiafaran'ny tsipika CRLF, ka tsy maratra ireo litera CR amin'ny tsipika hafa. Ny script shell raha tsy izany dia tsy tokony hisy litera CR.
Mba hanesorana ireo fiafaran'ny tsipika Windows dia azonao atao ny mampiasa dos2unix :
sudo dos2unix /usr/local/bin/casperjs
na sed:
sudo sed -i -e 's/\r$//' /usr/local/bin/casperjs
Raha tsy maintsy manitsy script ianao ao ambanin'ny Windows , ampiasao tonian-dahatsoratra izay miatrika ny fiafaran'ny tsipika Unix (izany hoe tsy misy ati-doha noho ny Notepad) ary alao antoka fa voalamina mba hanoratra ny fiafaran'ny tsipika Unix (izany hoe LF ihany) rehefa manitsy rakitra Unix.
Я использую Visual Studio Code и новичок в текстовом редакторе. Я получал ту же ошибку и пытался вручную выполнить шаги в этом сообщении, у меня это не сработало. Однако в правом нижнем углу Visual Studio Code есть возможность переключаться между CR и LF на лету, проблема решена. Я не уверен, применимо ли это, но если вы программируете в текстовом редакторе, он может дать простой ответ, предоставив кнопку для переключения.