2013-06-14 4 views
1

Dans notre entreprise, nous devons installer un paquet pré-construit NPM (Karma) sur Windows, et nous aimerions le faire via Chocolatey pour un maximum de simplicité. La raison principale pour laquelle nous voulons installer le NPM pré-construit, par opposition à la source, est que certaines dépendances de Karma ne seront pas construites sur certaines machines de nos employés. Comment devrions-nous installer le paquet NPM pré-construit à partir d'un paquet Chocolatey? Jusqu'à présent, notre impression concernant la génération du paquetage NPM pré-construit est qu'il faut installer le paquet source via NPM et compresser les résultats.Comment installer un paquet npm pré-construit à partir d'un paquet Chocolatey?

+0

Pré-construit? Hmmm, pas tout à fait sûr de comment tu ferais ça. Du moins, sans inclure les éléments prédéfinis et en les plaçant dans le bon répertoire lors de l'installation (en utilisant le script d'installation Chocolatey PowerShell). Mais c'est en quelque sorte court-circuiter ce que fait NPM (et pourrait être fragile si NPM change). Ne serait-il pas préférable de réparer les machines des employés pour que cela fonctionne correctement? – ferventcoder

+0

@ferventcoder Mes collègues devraient installer Visual C++ en raison d'une dépendance qui a besoin de la compilation, et cela n'arrivera pas (nous sommes un magasin C#). Un de mes collègues est allé avec l'approche pré-construite (manuellement) et il pense que c'est la voie à suivre. – aknuds1

+0

Intéressant. La plupart des endroits où j'ai travaillé nous installons juste Visual Studio avec presque tout (à part quelques choses comme l'Obfuscator qui l'accompagne). Il est intéressant que NPM n'installe pas quelque chose dont il a besoin pour installer le paquet? – ferventcoder

Répondre

0

Il s'agit plus d'un problème avec avoir pré-construit des paquets avec NPM que c'est avec chocolaty les construire. Ruby utilise DevKit sous Windows pour créer des gemmes natives. Il gère la compilation de la gemme lors de son installation. Quelle est la solution de NPM dans ce cas?

On pourrait prendre une dépendance sur MinGW et construire le paquet NPM avec gcc (ou utiliser VC++ comme vous l'avez mentionné dans les commentaires). Cependant, avoir le NPM pré-construit dans le paquet chocolaté comme une solution n'utiliserait pas un binaire officiel, donc à moins qu'il ne provienne du gars qui l'a créé (Karma dans ce cas), je ne sais pas pense que vous trouverez d'autres utilisateurs qui aimeraient le faire sur le fil de la communauté.

Pour moi, il semble que cela tombe avec NPM d'avoir quelque chose de similaire à DevKit.

Questions connexes