2016-02-26 22 views
9

Ho la seguente packages.json:npm post-install tipizzazioni non funziona correttamente

{ 
"name": "shopping-assistant-angular", 
"version": "1.0.0", 
"scripts": { 
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",  
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "typings": "typings", 
    "postinstall": "typings install" 
}, 
"license": "ISC", 
"dependencies": { 
    "angular2": "2.0.0-beta.7", 
    "systemjs": "0.19.23", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.2", 
    "zone.js": "0.5.14" 
}, 
"devDependencies": { 
    "bower": "^1.7.7", 
    "concurrently": "^1.0.0", 
    "grunt": "^0.4.5", 
    "grunt-chrome-manifest": "^0.3.0", 
    "grunt-contrib-clean": "^1.0.0", 
    "grunt-contrib-concat": "^0.5.1", 
    "grunt-contrib-copy": "^0.8.2", 
    "grunt-contrib-cssmin": "^0.14.0", 
    "grunt-contrib-htmlmin": "^0.6.0", 
    "grunt-contrib-uglify": "^0.11.1", 
    "grunt-filerev": "^2.3.1", 
    "grunt-ts": "^5.3.2", 
    "grunt-usemin": "^3.1.1", 
    "lite-server": "^2.0.1", 
    "load-grunt-tasks": "^3.4.0", 
    "typescript": "1.7.5", 
    "typings": "^0.6.8" 
} 
} 

quando corro npm installare nel mio indice si ottiene un errore: 'typings' is not recognized as an internal or external command, operable program or batch file.

Nel angolare 2 quick- iniziano la guida che usano i seguenti pacchetti.json:

{ 
"name": "angular2-quickstart", 
"version": "1.0.0", 
"scripts": { 
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",  
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "typings": "typings", 
    "postinstall": "typings install" 
}, 
"license": "ISC", 
"dependencies": { 
    "angular2": "2.0.0-beta.7", 
    "systemjs": "0.19.22", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.2", 
    "zone.js": "0.5.15" 
}, 
"devDependencies": { 
    "concurrently": "^2.0.0", 
    "lite-server": "^2.1.0", 
    "typescript": "^1.7.5", 
    "typings":"^0.6.8" 
} 
} 

Che esegue correttamente "installazione di tipo" dopo che tutti i pacchetti sono stati installati.

Non si sa perché l'esecuzione di questi file packages.json molto simili abbia come risultato risultati completamente diversi.

risposta

25

Gabe O'Leary è di destra (vedi comment), prima tenta di installare tipizzazioni globalmente npm install typings -g se si utilizza un Mac potrebbe essere necessario utilizzare il comando sudo sudo npm install typings -g

+0

Avrei dovuto rispondere alla mia stessa domanda. Grazie per questo –

+1

Grazie per il consiglio. Wow, questo è piuttosto zoppo ... – Den

+0

Grazie! questo ha funzionato per me –

2

Mi trovavo di fronte allo stesso problema. È necessario aggiungere typings.json file nella cartella del progetto. Si prega di controllare questo link: https://angular.io/guide/quickstart

+4

Avevo infatti un file typings.json nella mia cartella, era che non avevo digitazioni installate globalmente 'npm installa tipings -g' risolto il mio problema –

+0

controlla sempre i nomi dei file ... ho accidentalmente chiamato il mio digitando .json invece di typings.json. Questo ha aiutato! – Quinma

+0

Il link che hai citato non menziona nemmeno "digitazioni" ....! –

0

Oh Em Gee. Questo strumento è così fragile!

PowerShell -> 
    OS %PATH% spec -> 
    Node.js bin folder (which one?) -> 
     typings.cmd -> 
     Tools : Options : Projects and Solutions : External Web Tools -> 
      node.js bin -> 
      Typings JavaScript files -> 
       PowerShell working directory (vs. project path) -> 
       typings.json configuration -> 

Si noti che il npm install typings -g è destinato a essere un "globale" di installare, quindi, anche se si vuole che sia parte di un unico progetto (ad esempio, si vuole essere in grado di controllare e costruire un singolo progetto) , PECCATO! È necessario avere la soluzione estratta, con un file package.json a livello di soluzione, per ottenere il toolchain del progetto.

Si noti che l'installazione di Tipizzazioni di default modifica una cartella di binari Node.js. Quindi se hai più installazioni Node.js (probabilmente ne hai almeno tre, una installata con VS update 2, almeno una installata usando NuGet, e una o più installazioni installate come un'installazione Node.js separata per superare i difetti nelle versioni precedenti disponibile dalle altre due fonti), il tuo dolore è già iniziato.

Aggiungete il fatto che alcuni membri del vostro team di sviluppo hanno modificato la loro directory External Web Tools per vari articoli di supporto MS per risolvere questo problema, e alcuni membri del vostro team hanno versioni Node.js differenti installate, ecc. Ora il vostro dolore è ottenere reale ...

Quindi, qual è la soluzione? Personalmente, inserirò "typings install" nel mio evento gulp.js "Esegui all'avvio del progetto" e lo imposterò come target per un pacchetto di "tipizzazione" specifico del progetto. Ora possiamo eseguire il check-out e creare un singolo progetto, e nessuno del team deve essere in grado di eseguire "typings install" su una riga di comando o console di gestione pacchetti, ad eccezione di una persona responsabile della sua manutenzione.

Questi percorsi possono anche essere utili. In diversi punti durante gli aggiornamenti sulla macchina ho fatto la maggior parte di questa diagnosi in poi, npm install typings -g posto un file typings.cmd in directory differenti:

  • % SolutionFolder% \ packages \ Node.js.5.3.0 \ typings.cmd
  • C: \ Users \% username% \ AppData \ Roaming \ npm \ typings.cmd
0

non dovrebbe essere necessario installare tipizzazioni a livello globale per la messa a punto di cui sopra per lavorare.Quando si esegue npm install, è necessario aggiungere un collegamento simbolico al binario di battitura al numero /node_modules/.bin/typings e lo script postinstall deve essere eseguito con /node_modules/.bin aggiunto alla variabile di ambiente PATH.

Guardando la configurazione, però, se si dovesse installare con npm install --production (o con la variabile NODE_ENV ambiente impostata production), tipizzazioni non sarebbe installato come in devDependencies, quindi si dovrebbe quindi ottenere l'errore. Questa potrebbe essere la vera causa del tuo problema. Dai un'occhiata a this question per alcuni suggerimenti su come risolvere questo problema.

+0

Il tutorial angular.io utilizzato per menzionare effettivamente l'esecuzione di tipizzazioni di installazione di npm -g ma ora non è più necessario a causa del modo in cui hanno il loro nuovo file package.json impostato. –

+0

Sei riuscito a capire perché uno di quei package.json ha funzionato e l'altro no? Puoi anche causare una build di tipo '--production' se la tua variabile di ambiente' NODE_ENV' è impostata su 'production'. (L'ho modificato nella mia risposta) – rjmunro

0

tendo essere annidato 1 e 2 angolari soluzioni che finisco memorizzazione in repo Git ... angolare

Quando sono andato a correre questo comando per digitare non presentandosi

npm run typings install 

Tale non ha funzionato. Poi ho trovato questa pagina StackOverflow e ho cercato

npm install typings -g 

Per me il problema è stato che ad un lavoro, mi aveva ereditato un file .typingsrc in cui anche se non era nella cartella che stavo correndo npm install ecc .. in , deve aver deciso di guardare una directory o 2 sopra e quindi non c'è da meravigliarsi se ho avuto gli errori.

ho semplicemente rinominato a old.typingsrc, come all'interno del scopo era quello di andare in giro un proxy proxy="http://proxy-chain.company.com:911"

Questo non potrebbe aiutare molte persone, ma penso può aiutare gli altri che c'è bisogno di un proxy !

0

In ionica 2, ho affrontato lo stesso problema su finestra 10 poi ho provato npm install typings -g, dopo l'installazione Ho provato comando tipaggi e wow ha funzionato, lavoravo con ionico 2 con socket.io e necessaria per eseguire
typings install dt~socket.io-client --save --global, ora funziona.

Spero che questo ti possa aiutare.

+0

Ciao, per favore aggiungi un po 'di formattazione al codice. Per ulteriori informazioni, consultare https://stackoverflow.com/help/formatting. – Chaithanya

Problemi correlati