2
我試圖創建一個node.js命令行實用程序,並與npm生成的包裝問題。我的超簡單的演示是的package.json文件:npm生成的命令不調用節點
{
"name": "demo-cli",
"version": "0.0.1",
"bin": { "demo": "bin/demo-cli.js" }
}
而且演示cli.js文件:
console.log('DEMO WORKED');
的問題是,當我安裝在項目目錄使用npm install -g
而模塊它生成的包裝器不會以該文件作爲參數調用節點。這是生成的demo.cmd的內容:
:: Created by npm, please don't edit manually.
"%~dp0\.\node_modules\demo-cli\bin\demo-cli.js" %*
unix版本具有相同的問題。查看另一個全局安裝的CLI,我可以看到該節點正在按照預期進行測試和調用。
:: Created by npm, please don't edit manually.
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\.\node_modules\mocha\bin\mocha" %*
) ELSE (
node "%~dp0\.\node_modules\mocha\bin\mocha" %*
)
npm生成正確的腳本文件需要什麼祕密醬?我試過了所有我能找到或想到的東西,包括刪除.js擴展名,更喜歡全局,指定節點版本......沒有運氣。
我在Windows 7 x64上使用節點v0.6.18和npm v1.1.21。
這樣做。我想這是一件簡單的事情。謝謝! –