2012-10-18 104 views
7

我想向我的npm包攔截代理添加CLI功能。我找不到任何好的文檔,所以我基本上從express.js複製和修改了一些東西。無法使npm install -g爲我的包工作

我說:

"bin": { 
    "intercept-proxy": "./bin/intercept-proxy" 
} 

...我的package.json文件,並創建了包含CLI東東/bin/intercept-proxy.js。

當我運行:

npm install -g intercept-proxy 

...一切正常,直到連接部分。然後,它失敗了,他說:

npm ERR! Error: ENOENT, chmod 'C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy 

...和日誌說:

381 info linkStuff [email protected] 
382 verbose linkBins [email protected] 
383 verbose link bins [ { 'intercept-proxy': './bin/intercept-proxy' }, 
383 verbose link bins 'C:\\Users\\johan.obrink.24HRCOM\\AppData\\Roaming\\npm', 
383 verbose link bins true ] 
384 verbose linkMans [email protected] 
385 verbose rebuildBundles [email protected] 
386 verbose rebuildBundles [ 'commander', 'mkdirp', 'underscore' ] 
387 info C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy unbuild 
388 verbose from cache C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\package.json 
389 info preuninstall [email protected] 
390 info uninstall [email protected] 
391 verbose true,C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules,C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules unbuild [email protected] 
392 verbose C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm,[object Object] binRoot 
393 info postuninstall [email protected] 
394 error Error: ENOENT, chmod 'C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy' 
395 error If you need help, you may report this log at: 
395 error  <http://github.com/isaacs/npm/issues> 
395 error or email it to: 
395 error  <[email protected]> 
396 error System Windows_NT 6.1.7601 
397 error command "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "intercept-proxy" 
398 error cwd c:\src 
399 error node -v v0.8.9 
400 error npm -v 1.1.61 
401 error path C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy 
402 error code ENOENT 
403 error errno 34 
404 verbose exit [ 34, true ] 

我試着用搜索引擎ENOENT,CHOWN + Windows,但似乎沒有得到任何進一步。

完整的代碼了在https://github.com/JohanObrink/intercept-proxy

編輯:現在我已經試過在OS X和問題是一樣的。不與windows相關 - 顯然我只是一個與n00b相關的東西。儘管如此,仍然無法找到問題所在。

回答

12

ENOENT表示沒有這樣的文件或目錄。 如果你改變這個,會發生什麼?

"bin": { 
    "intercept-proxy": "./bin/intercept-proxy.js" 
} 
+0

謝謝!就是這樣。你有沒有機會知道爲什麼快遞沒有.js而離開,我不知道? –

+1

現在我看到express.js實際上將它的bin文件命名爲express - 沒有.js。這就是它工作的原因:/ –

+0

拉爾斯,你想使用'主',而不是'斌'。恩。 「main」:「./bin/yomama」(不含JS) – deepelement

相關問題