2015-03-31 11 views
6

Questo è il problema più strano e si verifica solo su un framework iOS in particolare (che ho notato) all'interno di un modulo npm.Il modulo di pubblicazione npm include framework iOS. Quando npm installa il modulo, il framework iOS è corrotto

quando si fa clic sul quadro (prima NPM pubblicare) Vedo:

frameworkname.framework 
| 
- Headers (dir) 
- frameworkname 
- Versions (dir) 
    | 
    -A (dir) 
    -Current (dir) 

ho pubblicato questo modulo a un server NPM privato. Quando installo il modulo npm, il framework è corrotto. Vedo:

frameworkname.framework 
| 
- Headers (dir) MISSING 
- frameworkname MISSING 
- Versions (dir) 
    | 
    -A (dir) 
    -Current (dir) MISSING 

Dopo aver letto http://www.raywenderlich.com/65964/create-a-framework-for-ios sembra che i file mancanti sono link simbolici. Qualcun altro ha già visto questo comportamento prima? Come posso evitare la perdita dei collegamenti simbolici durante il processo npm?

+0

Hi ideluca, mi sono imbattuto in un problema di recente. Ho trovato la tua domanda mentre cercavo lo stack overflow e mi chiedevo se avessi trovato una risposta. – wesshi

+0

C'è una discussione su questo problema con una soluzione alternativa suggerita (ma nessuna soluzione al momento) sul tracker dei problemi di npm su Github: https://github.com/npm/npm/issues/7825 – Dalbergia

+0

Vedi anche il tracker dei problemi di Cordova: https://issues.apache.org/jira/browse/CB-6092 – Dalbergia

risposta

0

I file mancanti sono collegamenti simbolici e sfortunatamente, npm non supporta collegamenti simbolici. Per ovviare al problema, puoi sostituire i collegamenti con i loro obiettivi (e rimuovere i bersagli per evitare la duplicazione).

E.g. per una FFF quadro con la struttura:

./FFF -> Versions/Current/FFF 
./Headers -> Versions/Current/Headers 
./Versions 
./Versions/A 
./Versions/A/FFF 
./Versions/A/Headers 
./Versions/Current -> A 

è possibile eseguire il seguente (in bash) dall'interno della directory quadro:

framework=FFF && rm $framework Headers && mv Versions/A/{$framework,Headers} . && rm -rf Versions 

per cambiare la struttura di:

./FFF 
./Headers 
Problemi correlati