Comment installer et exécuter Typescript localement dans npm?
Je veux installer et exécuter le fichier d'enregistrement (c'est à dire aucun dépendances).
Ici est mon colis.fichier json:
{
"name": "foo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"tsc": "tsc"
},
"devDependencies": {
"typescript": "^1.8.10"
},
"author": "",
"license": "ISC"
}
Je puis exécutez:
npm install
npm run tsc
Cependant quand je lance la deuxième commande je reçois sooo beaucoup d'erreurs, il ne peut pas afficher tous les. La plupart de c'est comme le suivant:
../foo/node_modules/typescript/lib/lib.d.ts(5015,5): error TS2300: Duplicate identifier 'webkitTransformOrigin'.
../foo/node_modules/typescript/lib/lib.d.ts(5016,5): error TS2300: Duplicate identifier 'webkitTransformStyle'.
../foo/node_modules/typescript/lib/lib.d.ts(5017,5): error TS2300: Duplicate identifier 'webkitTransition'.
../foo/node_modules/typescript/lib/lib.d.ts(5018,5): error TS2300: Duplicate identifier 'webkitTransitionDelay'.
../foo/node_modules/typescript/lib/lib.d.ts(5019,5): error TS2300: Duplicate identifier 'webkitTransitionDuration'.
../foo/node_modules/typescript/lib/lib.d.ts(5020,5): error TS2300: Duplicate identifier 'webkitTransitionProperty'.
Dans npm-debug.journal-je obtenir:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'run', 'tsc' ]
2 info using npm@3.10.2
3 info using node@v5.12.0
4 verbose run-script [ 'pretsc', 'tsc', 'posttsc' ]
5 info lifecycle foo@1.0.0~pretsc: foo@1.0.0
6 silly lifecycle foo@1.0.0~pretsc: no script for pretsc, continuing
7 info lifecycle foo@1.0.0~tsc: foo@1.0.0
8 verbose lifecycle foo@1.0.0~tsc: unsafe-perm in lifecycle true
9 verbose lifecycle foo@1.0.0~tsc: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/vagrant/foo/node_modules/.bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
10 verbose lifecycle foo@1.0.0~tsc: CWD: /home/vagrant/foo
11 silly lifecycle foo@1.0.0~tsc: Args: [ '-c', 'tsc' ]
12 silly lifecycle foo@1.0.0~tsc: Returned: code: 2 signal: null
13 info lifecycle foo@1.0.0~tsc: Failed to exec tsc script
14 verbose stack Error: foo@1.0.0 tsc: `tsc`
14 verbose stack Exit status 2
14 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:242:16)
14 verbose stack at emitTwo (events.js:100:13)
14 verbose stack at EventEmitter.emit (events.js:185:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack at emitTwo (events.js:100:13)
14 verbose stack at ChildProcess.emit (events.js:185:7)
14 verbose stack at maybeClose (internal/child_process.js:850:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
15 verbose pkgid foo@1.0.0
16 verbose cwd /home/vagrant/foo
17 error Linux 3.13.0-88-generic
18 error argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "tsc"
19 error node v5.12.0
20 error npm v3.10.2
21 error code ELIFECYCLE
22 error foo@1.0.0 tsc: `tsc`
22 error Exit status 2
23 error Failed at the foo@1.0.0 tsc script 'tsc'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the foo package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error tsc
23 error You can get information on how to open an issue for this project with:
23 error npm bugs foo
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls foo
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]
Noter que la suppression du paquet, puis l'installation de la machine à l'échelle mondiale permet de résoudre le problème. Toutefois, si je puis utiliser npm install pour installer les packages locaux de nouveau, il réintroduit le problème.
source d'informationauteur Yahya Uddin
Vous devez vous connecter pour publier un commentaire.
Pour installer la Machine locale dans le projet de développement de la dépendance que vous pouvez utiliser
--save-dev
cléIl est aussi écrit le texte dactylographié dans votre
package.json
Vous devez également avoir une
tsconfig.json
fichier. Par exemplePour plus d'informations sur le tsconfig vous pouvez le voir ici http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
Il m'a fallu un certain temps pour trouver la solution à ce problème - c'est dans la question d'origine. Vous devez avoir un
script
que les appelstsc
dans votrepackage.json
fichier, de sorte que vous pouvez exécuter:Inclure
--
avant de passer dans les options (ou de les inclure dans le script):Voici un exemple
package.json
:Vous devez dire mnp que "tsc" il existe un package de projet (via la rubrique "scripts" de la propriété dans votre forfait.json) et ensuite l'exécuter via
npm run tsc
. Pour faire cela (au moins sur Mac), j'ai dû ajouter le chemin d'accès pour le compilateur dans le colis, à l'instar de ceAprès que vous pouvez exécuter n'importe quel fichier d'enregistrement de la commande comme
npm run tsc -- --init
(les arguments viennent après la première--
).tsc
nécessite un fichier de configuration ou .ts(x) les fichiers à compiler.À résoudre à la fois de vos questions, créez un fichier appelé
tsconfig.json
avec le contenu suivant:Également, de modifier votre mnp courir avec cette
Remarque si vous utilisez
typings
procédez de la manière suivante:Si vous faites l'angle de 2 tutoriel utiliser ceci:
si le
postinstall
commande ne marche pas, essayez d'installer typings globalement comme suit:vous pouvez également essayer les suivantes, par opposition à postinstall:
et vous devriez avoir ce problème résolu!