Próbuję wypchnąć moją aplikację internetową na Heroku, jednak wymaga to konkretnej wersji NPM (> 2.0, a mianowicie dlatego, że chcę zainstalować moduły z local paths).Specyficzna wersja npm na Heroku
Próbowałem określa wersję npm chcę w moim pliku package.json tak:
"engines": {
"node": "0.10.x",
"npm": "2.1.6"
},
Ale to nie działa. Otrzymuję:
[13:26:09][Step 3/3] 80 http 200 https://registry.npmjs.org/mailgun
[13:26:09][Step 3/3] 81 silly registry.get cb [ 200,
[13:26:09][Step 3/3] 81 silly registry.get { date: 'Wed, 12 Nov 2014 18:26:08 GMT',
[13:26:09][Step 3/3] 81 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
[13:26:09][Step 3/3] 81 silly registry.get etag: '"4TEYXG8V5ESBTLTLYGNM1K3VM"',
[13:26:09][Step 3/3] 81 silly registry.get 'content-type': 'application/json',
[13:26:09][Step 3/3] 81 silly registry.get 'cache-control': 'max-age=60',
[13:26:09][Step 3/3] 81 silly registry.get 'content-length': '14782',
[13:26:09][Step 3/3] 81 silly registry.get 'accept-ranges': 'bytes',
[13:26:09][Step 3/3] 81 silly registry.get via: '1.1 varnish',
[13:26:09][Step 3/3] 81 silly registry.get age: '44',
[13:26:09][Step 3/3] 81 silly registry.get 'x-served-by': 'cache-jfk1024-JFK',
[13:26:09][Step 3/3] 81 silly registry.get 'x-cache': 'HIT',
[13:26:09][Step 3/3] 81 silly registry.get 'x-cache-hits': '1',
[13:26:09][Step 3/3] 81 silly registry.get 'x-timer': 'S1415816768.787241,VS0,VE0',
[13:26:09][Step 3/3] 81 silly registry.get vary: 'Accept',
[13:26:09][Step 3/3] 81 silly registry.get 'keep-alive': 'timeout=10, max=50',
[13:26:09][Step 3/3] 81 silly registry.get connection: 'Keep-Alive' } ]
[13:26:09][Step 3/3] 82 silly lockFile 17d20b4b-mailgun-file-vendor-node-mailgun [email protected]:./vendor/node-mailgun
[13:26:09][Step 3/3] 83 silly lockFile 17d20b4b-mailgun-file-vendor-node-mailgun [email protected]:./vendor/node-mailgun
[13:26:09][Step 3/3] 84 error notarget No compatible version found: [email protected]'file:./vendor/node-mailgun'
[13:26:09][Step 3/3] 84 error notarget Valid install targets:
[13:26:09][Step 3/3] 84 error notarget ["0.1.6","0.4.0","0.4.1","0.4.2","0.4.3","0.5.0"]
[13:26:09][Step 3/3] 84 error notarget
[13:26:09][Step 3/3] 84 error notarget This is most likely not a problem with npm itself.
[13:26:09][Step 3/3] 84 error notarget In most cases you or one of your dependencies are requesting
[13:26:09][Step 3/3] 84 error notarget a package version that doesn't exist.
[13:26:09][Step 3/3] 85 error System Linux 3.8.11-ec2
[13:26:09][Step 3/3] 86 error command "/tmp/build_1e56200e13db384069333f3304918966/vendor/node/bin/node" "/tmp/build_1e56200e13db384069333f3304918966/vendor/node/bin/npm" "install" "--userconfig" "/tmp/build_1e56200e13db384069333f3304918966/.npmrc" "--production"
[13:26:09][Step 3/3] 87 error cwd /tmp/build_1e56200e13db384069333f3304918966
[13:26:09][Step 3/3] 88 error node -v v0.10.33
[13:26:09][Step 3/3] 89 error npm -v 1.4.28
[13:26:09][Step 3/3] 90 error code ETARGET
[13:26:09][Step 3/3] 91 verbose exit [ 1, true ]
[13:26:09][Step 3/3]
[13:26:09][Step 3/3] ! Push rejected, failed to compile Multipack app
[13:26:09][Step 3/3]
[13:26:09][Step 3/3] To [email protected]:supportkit-test.git
[13:26:09][Step 3/3] ! [remote rejected] deploy -> master (pre-receive hook declined)
[13:26:09][Step 3/3] error: failed to push some refs to '[email protected]:supportkit-test.git'
[13:26:09][Step 3/3] Process exited with code 1
Mailgun to moduł, który chcę zainstalować z lokalnej ścieżki. Jak widać, wersja npm nadal 1.4.28.
Każdy pomysł na wymuszenie określonej wersji NPM na Heroku?
Dzięki!