Невозможно запустить скрипт nodejs в командной строке

1

Когда я пытаюсь запустить программу node.js в командной строке Windows, указав ее местоположение, она будет неизменно говорить:

[указанное местоположение] не распознается как внутренняя или внешняя команда, оперативная программа или командный файл.

Во всех ответах на подобные вопросы во всех руководствах node.js предполагается, что вы можете просто запустить файл node.js, вызвав его из своего местоположения. Всегда будет предложение попробовать пример hello world прежде чем устанавливать сервер и так далее.

Даже если я очищаю командную строку с prompt $ cmd, а затем записываю все местоположение вручную, я получаю одно и то же сообщение.

Когда я бегу

echo %path%

Я получаю C:\Program Files\nodejs\bin

Когда я бегу

node -v 

Я получаю v6.10.3

Когда я бегу

node a00.js

(где a00.js - это имя сценария), он считает, что весь путь является модулем, поэтому он говорит, что cannot recognize that module.

Если я node a00.js командную строку с prompt $ cmd а затем запускаю node a00.js, он считает, что a00.js является модулем, поэтому он говорит, что cannot recognize that module.

Теги:

2 ответа

1
Лучший ответ

Ваш путь знает, где находится node.js, но он не знает, где находится a00.js. Поэтому вам нужно запустить команду как node за которой следует путь к файлу. (копировать все команды, включая двойные кавычки)

node "C:\Program Files\nodejs\a00.js"

В качестве примера попробуйте это.

создайте файл hello.js сохраните его в C:\Windows\Temp\ (или где вы предпочитаете)

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

теперь откройте cmd и запустите его так (если вы сохранили его в C:\Windows\Temp\

node "c:\Windows\Temp\hello.js"

если вы запустите его из пути, то есть вы CD в каталог, где существует файл a00.js, тогда вы можете запустить его только как "node a00.js

в качестве примера предположим, что a00.js существует в C:\Windows\Temp:

cd c:\Windows\Temp
node a00.js

Важное замечание при использовании любого пути всегда заключает его в двойные кавычки.

Это вызовет ошибки:

node C:\Program Files\test\a00.js

Это будет работать:

node "C:\Program Files\test\a00.js"
  • 0
    Большой! Наконец-то побежал! Я считаю, что проблема заключалась не в том, чтобы заключить путь в двойные кавычки. Вот почему он считал «Программу» уже после пути. Спасибо.
  • 1
    @Algunillo Удовольствие, если вы чувствуете, что это помогло вам, пожалуйста, не стесняйтесь пометить вопрос как правильный ответ.
0

У меня была похожая проблема, когда node.js был жаловался, что модуль не существует, потому что он позволяет вам сохранять с именем файла, например, если, например, Statement.js, когда вы вызываете его в Commander, он не нравится, поэтому попробуйте изменить файл назовите и запустите его, и это может решить вашу проблему выше. - Дипа

  • 0
    Привет и добро пожаловать в ТАК. Обратите внимание, что на этот вопрос уже есть принятый ответ - если вы считаете, что ваш ответ существенно добавляет к вопросу и существующему ответу, вам придется изложить это немного больше, чем вы. Спасибо за помощь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню