2012-06-26 54 views
1

我正在嘗試使用Node.js創建一個類似於包如expressmocha的包。我最初的測試報告命令沒有找到,所以我支持的腳本如下:編寫節點外殼腳本時未找到命令

#!/usr/bin/env node 

console.log("printing stuff"); 

以上應該只是輸出「打印材料」跑了的時候;然而,這也不起作用。

我試圖通過文件目錄中的./script執行腳本以確保它不是路徑問題。嘗試在特權狀態(即sudo)下執行會產生相同的結果/錯誤消息。

任何想法我需要做什麼?

+0

當你在同一目錄中的'node -v'時會發生什麼? –

+0

@RyanOlds v0.6.19 – JamesEggers

+0

我也可以在目錄下'npm install mocha'並調用'。/ node_modules/mocha/bin/mocha'。 – JamesEggers

回答

2

找出我的問題。我做了shell腳本,但忘了將執行權限設置到文件上。做一個chmod a+x script解決了這個問題。

2

當你選擇(#!/usr/bin/env node時,你的意思是「尋找一個叫做PATH節點的程序」。正如@Ryan所說,如果node -v有效,shebang應該可以正常工作。任何機會你有一個shell別名或shell函數名爲node?這可能會給你一個幻覺,即使它沒有,你的PATH也是正確的。但從本質上講,只要確保node二進制文件所在的目錄(節點安裝目錄下的bin目錄)位於PATH環境變量上,並且事情真的應該在那一刻起作用。

export PATH=/usr/local/node/bin:$PATH