2017-03-01 55 views
0

我一直想在節點上運行一個簡單的Hello World應用程序,事情是我使用的console.log打印到標準輸出,而不是使用一個奇特的http服務器或任何東西。你好的NodeJS世界腳本不運行

我在Windows 10的x64運行LTS的NodeJS,node v6.10.0npm 4.3.0

我運行腳本基本上是一個console.log("Hello World");

現在,如果我從節點命令行中運行這條線,它工作得很好。

但是,如果我嘗試運行將其放入一個單獨的文件,並通過node program.js運行它哪裏program.jsconsole.log("Hello World");

那麼,爲什麼我得到這樣的輸出:

D:\nodeschool\HelloWorld>node program.js 
module.js:471 
throw err; 
^ 

Error: Cannot find module 'D:\nodeschool\HelloWorld\program.js' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:394:7) 
    at startup (bootstrap_node.js:149:9) 
    at bootstrap_node.js:509:3 

哦,文件肯定是有:

 Directory of D:\nodeschool\HelloWorld 

    01.03.2017. 18:14 <DIR>   . 
    01.03.2017. 18:14 <DIR>   .. 
    01.03.2017. 18:04 <DIR>   node_modules 
    01.03.2017. 18:14    253 package.json 
    01.03.2017. 17:34    27 program.js.txt 
    2 File(s)   280 bytes 
    3 Dir(s) 627.008.479.232 bytes free 

任何人有任何想法?

+1

這錯誤通常意味着'program.js'是不正確的路徑。你蘇您是否擁有正確的路徑和文件擴展名? –

+0

也許你的node.js安裝需要program.js是可執行文件:文件模式'755 program.js' – Psi

+0

@StevenSchobert內program.js的唯一事情就是'的console.log( 「Hello World」 的);'我剛安裝的NodeJS幾個小時前,文件就在那裏。 @Psi,我有點在Windows上,通過管理員權限命令提示符,所以..不這麼認爲。它運行其他節點的東西,比如nodeschool.io中的learnyounode包,所以爲什麼它不會運行,這是超出我的。 –

回答

1

chmod,你的文件名實際上program.js.txt是。

所以,當你運行node program.js,它無法找到名爲program.js的任何文件,這會導致錯誤你看。

你的文件重命名爲program.js(不.txt擴展名),然後再試一次。

+0

中添加了上面的輸出。Nevermind,我在新的Windows機器上運行它,文件擴展名在Explorer中隱藏,所以我在運行program.js時一直在編輯program.js.txt。 典型,謝謝,不得不在命令行來實際檢查出的文件夾;) –

+1

我被同樣問題咬傷SOOOO很多次! –

0

它可以是以下兩種情況之一:您的program.js不在此路徑中D:\nodeschool\HelloWorld\program.js或您的node.js安裝在該路徑中不可執行。 「嘗試檢查基於dir命令的輸出program.js