2015-10-20 13 views
6

Repo'mda yer alan yerel bir npm paketim var (tüm node_modules'u 200MB boyutundan dolayı repo'ya dahil etmiyorum, yalnızca gereksinimlerime göre değiştirmek zorunda kaldığım belirli bir paket)). package.json yılındaHeroku yerel npm paketini bulamıyor

, yerel paket beyanı şuna benzer:

dependencies : { 
    local_package: "./my_local_package" 
    ... 
} 

ben emin değilim

npm ERR! enoent ENOENT: no such file or directory, open 
'/app/tmp/cache/my_local_package' 

var hata /app/tmp/cache yerdir benim repo bulunduğu ve eğer o değil eğer ne değiştirmeliyim.

düğüm v4.2.1, npm v2.14.7

+0

, neden u paket isimlerini koymuyorsun? göreli yerel dizini ile git tutabilir, ama heroku u değiştirebilir ve dağıtabilir –

+0

Yerel bağımlılık git repo'da bulunur, tabii ki (aksi takdirde, çalışmasını beklemezdim). 'Package.json'daki yerel bağımlılıkları belirleme özelliği, npm 2.0'dan beri destekleniyor ve bu soruyu sormamın tam sebebi, bu soruyu sormamın tam bir nedenidir :). – evfwcqcg

+0

Önbelleği devre dışı bırakmayı denediniz mi? 'heroku config: set NODE_MODULES_CACHE = false'. Tam dağıtım günlüğü sağlayabilir misiniz? – hassansin

cevap

0

git'e node_modules ekleme veya Heroku onu iterek tavsiye edilmez.

local_package ürününüzün ayrı bir git yanıtına sahip olmanız olası bir çözüm olacaktır, ardından package.json ürününüze aşağıdakileri yapabilirsiniz.

dependencies : { local_package: "git+https://example.com/local_package.git" ... }

Bunun senin node_modules tüm diğerleri göz ardı edilir ise sadece bir local_package sahip daha güzel bir çözüm olduğunu düşünüyoruz.

1

npm documentation for local paths göre, bu şekilde tanımlamalıdır: Heroku için itmeden önce

"dependencies" : { 
    "local_package": "file:./my_local_package" 
    ... 
} 
+0

Bunu işaretlediğiniz için teşekkürler. Bu hatayı düzeltmemiş olsa da, dokümanları okumak çok yardımcı oldu. Bu adımın neden gerekli olduğu konusunda hâlâ hiçbir fikrim yok, fakat dağıtım komut dosyasına 'npm i. /local_package --save' eklediğimde bu paketi yerel dizinden yükledim. – evfwcqcg