2015-05-02 4 views
-1

Я запускаю node.js на моем macbook pro, и я действительно не могу понять, почему каждый раз, когда я пытаюсь скомпилировать что-то своим терминалом, я получаю эту ошибку :Node.js не может скомпилировать мои .js-файлы (OSX Yosemite)

MBPdiFrancesco:~ francescocolonnese$ node -p 
> /Users/francescocolonnese/Desktop/appunti.js 
SyntaxError: Invalid flags supplied to RegExp constructor 'francescocolonnese' 
    at new RegExp (native) 
    at repl:1:1 
    at REPLServer.defaultEval (repl.js:132:27) 
    at bound (domain.js:254:14) 
    at REPLServer.runBound [as eval] (domain.js:267:12) 
    at REPLServer.<anonymous> (repl.js:279:12) 
    at REPLServer.emit (events.js:107:17) 
    at REPLServer.Interface._onLine (readline.js:214:10) 
    at REPLServer.Interface._line (readline.js:553:8) 
    at REPLServer.Interface._ttyWrite (readline.js:830:14) 

может кто-нибудь помочь мне через это ..?

+0

Можете ли вы показать проблемный код, пожалуйста? – infomaniac

+0

уверенный @informaniac! Я напишу его ниже .. но это происходит для всех .js-файлов, которые я надел на терминал после запуска узла. вот пример: ** вар чао = 12; ** ** вар прогонять = «Нееет»; ** ** console.log (чао + прогонять) **; , как вы можете видеть, код действительно прост, но он не работает. Это происходит также с гораздо более сложными кодами. –

+0

Какую версию узла вы используете? Я вижу, у вас есть некоторые странные цитаты вокруг вашей строки - убедитесь, что это обычные кавычки; он работает для меня, когда я их исправляю, но я не могу воспроизвести флаги «SyntaxError: Invalid», предоставленные в конструкцию RegExp «francescocolonnese». Вы производите точный код, на который не работает ваш узел? – infomaniac

ответ

2

Подождите, вы пытаетесь запустить файл JS, введя его имя в интерактивной оболочке узла? Если это так, причина ошибки проста. Это потому, что:

/Users/francescocolonnese/Desktop/appunti.js 

недействителен javascript-код. Действительно, глядя на ошибки вы можете увидеть, что узел пытается интерпретировать // как регулярное выражение, как:

/Users/francescocolonnese 

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

Внутри оболочки узла вы должны ввести только действительный javascript. Если вы настаиваете на этом, вы можете набрать это:

require('/Users/francescocolonnese/Desktop/appunti.js') 

Но это неправильный способ сделать это. Вместо того, чтобы просто попросить node.js запустить этот файл:

node -p /Users/francescocolonnese/Desktop/appunti.js 
+0

MBPdiFrancesco: ~ francescocolonnese $ узел > узел -p /Users/francescocolonnese/mail.js ReferenceError: узел не определен в repl: 1: 1 at REPLServer.defaultEval (repl.js: 132: 27) at bound (domain.js: 254: 14) на REPLServer.runBound [as eval] (domain.js: 267: 12) на REPLServer. (repl.js: 279: 12) на REPLServer.emit (events.js: 107: 17) на REPLServer.Interface._onLine (readline.js: 214: 10) на REPLServer.Interface._line (readline. js: 553: 8) на REPLServer.Interface._ttyWrite (readline.js: 830: 14) в ReadStream.onkeypress (readline.js: 109: 10 –

+0

В нем говорится: «УЗЕЛ НЕ ОПРЕДЕЛЕН» .. –

+0

run ' node -p/Users/francescocolonnese/Desktop/appunti.js' из приглашения bash ('$'), а не из приглашения узла ('>') – Phssthpok

0

деинсталлировать версия узел установлен с nodejs.org, а затем запустить:

brew update

brew uninstall node --force

brew install node

+0

завершение Bash установлено на: /usr/local/etc/bash_completion.d ОШИБКИ: 'заварить шаг link' не было успешно завершен формула построена, но не слинковано в/USR/местные не мог симлинка share/systemtap/tapset/node.stp /usr/local/share/systemtap/tapset не доступен для записи. Вы можете попробовать еще раз с помощью: Brew ссылки узла Предупреждения: Шаг постустановочного не было успешно завершена Вы можете попробовать еще раз, используя 'заваривание постустановочного node' –

+0

Попробуйте выполнить все выше, как' sudo' – infomaniac

+0

я получаю это когда я запускаю «установочный узел sudo brew» Ошибка: Трусливый отказ от 'sudo brew install' Вы можете использовать варево с sudo, но только если исполняемый файл Brew принадлежит root. Однако, это не рекомендуется и полностью не поддерживается, поэтому сделайте так, чтобы ваш риск был . –

2

"@infomaniac - я бы попытался удалить всю эту папку:/USR/местные/доли/SystemTap /"

работал для меня, благодаря!

Uninstall node.js

brew uninstall node

brew uninstall node --force

Выход из brew doctor:

Linking /usr/local/Cellar/node/0.12.4 ... Ошибка: Могли не symlink share/systemtap/tapset/node.stp /usr/local/share/systemtap/tapset не доступен для записи.

Remove/USR/местные/доли/Systemtap/

$ sudo rm -rf /usr/local/share/systemtap/

Переустановка узел.JS

brew install node

Фикс несвязанные бочонки

$ brew link node

Выход:

Linking /usr/local/Cellar/node/0.12.4 ... 6 симлинки создано

Смежные вопросы