2012-10-18 14 views
7

Próbuję dodać funkcjonalność CLI do mojego tranptu-proxy typu npm. Nie mogłem znaleźć żadnej dobrej dokumentacji, więc zasadniczo skopiowałem i zmodyfikowałem rzeczy z pliku express.js.Nie mogę zainstalować npm -g dla mojego pakietu

I dodaje:

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

... do mojego pliku package.json i stworzył /bin/intercept-proxy.js która zawiera materiał CLI.

Kiedy biegnę:

npm install -g intercept-proxy 

... wszystko działa aż do części łączącej. Wtedy to się nie powiedzie, mówiąc:

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

... i dziennik pisze:

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 ] 

Próbowałem googlowania ENOENT chown + Windows, ale nie wydaje się uzyskać wszelkie dalsze.

pełny kod jest gotowy na https://github.com/JohanObrink/intercept-proxy

EDIT: Mam teraz próbowałem go na OS X i problem jest taki sam. Nie związane z oknami - najwyraźniej związane jest tylko moje bycie-a-n00b. Nadal nie mogę znaleźć, co jest nie tak.

Odpowiedz

12

ENOENT oznacza brak takiego pliku lub katalogu. Co się stanie, jeśli zmienisz to?

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

Dziękujemy! To było to. Czy przez przypadek wiesz, dlaczego ekspres ucieka bez .js, a ja nie? –

+1

I TERAZ widzę, że express.js rzeczywiście nazwał swój plik bin express - bez .js. Właśnie dlatego zadziałało:/ –

+0

Lars, chcesz użyć "głównego", a nie "bin". dawny. "main": "./bin/yomama" (bez JS) – deepelement

Powiązane problemy