2017-10-12 2 views
1

13-10-2017 - Self a répondu, voir ci-dessous, problème résolu installation du nœud personnalisé fourni ne fonctionne pas sur d'autres PC

13-10-2017 - Mise à jour ajouté, voir fin de la question , toujours non résolu

description du premier, problème plus tard:

Notre équipe utilise un environnement de développement préparé et je veux ajouter les composants de nœuds nécessaires pour la construction de thèmes Liferay de DXP avec le thème de Liferay generato r.

J'ai installé un noeud à partir de l'installation Win64-Zip, je l'ai donc simplement décompressé dans un répertoire personnalisé (win10).

J'ai défini les variables d'environnement et créé le fichier .npmrc, le préfixe (npm-packages) et le cache (npm-cache) se trouvent également dans le répertoire personnalisé mentionné ci-dessus.

J'ai installé des composants supplémentaires requis par NPM (gulp, yo, générateur Liferay-thème, Liferay-theme-tâches, Liferay-theme-DEPS-7.0, toutes avec -G)

Alors mon monde l'installation ressemble à ce

custom directory 
       | 
       +--- node-v6.11.4-win-x64 
       | 
       +--- npm-cache 
       | 
       +--- npm-packages 

variables d'environnement sont définies

NODE_PATH=(custom directory)\node-v6.11.4-win-x64;(custom directory)\npm-packages\node_modules 
NPM_PACKAGES=(custom directory)\npm-packages 

Y compris le chemin

Path=...;(custom directory)\node-v6.11.4-win-x64;(custom directory)\npm-packages 

Et le .npmrc va comme

prefix=(custom directory)\npm-packages 
cache=(custom directory)\npm-cache 
proxy=(our proxy) 
registry=http://registry.npmjs.org/ 
fetch-retry-mintimeout=1000 
fetch-retry-maxtimeout=3000 
strict-ssl=false 

Construire le thème Liferay DXP fonctionne sur ma machine-WOMM

Quand je ZIP le dossier complet personnalisé et décompressez sur une autre machine de développeur (et aussi en définissant des variables d'environnement et .npmrc sur l'autre machine), la construction ne fonctionne pas.

Le message d'erreur (maven antrun exec gulp.cmd) est

[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js' 

Où "(répertoire du projet)" est mon dossier source thème DXP, pas le dossier d'installation personnalisée mentionnée ci-dessus.

D'autres commandes montrent pas problèmes sur l'autre machine, comme par exemple

node -v 
npm -v 
npm cache ls 

également un

npm install -g yo gulp 

terminé rapidement et a montré aucune erreur.

Mise à jour

Un essai hier était d'appeler

npm install -g yo gulp 

sur l'autre machine, cela devrait être la seule différence au contenu du fichier zip.

L'appel

npm list -g 

montre ces différences sur l'autre machine

1099a1100 
> +-- [email protected] extraneous 
1222a1224,1226 
> | +-- [email protected] invalid 
> | | +-- [email protected] extraneous 
> | | `-- [email protected] extraneous 

L'entrée invalide est un enfant de yo.update-notificateur

Suivant essayer sur l'autre machine

npm uninstall -g yo 
npm cache clear 
npm install -g yo 

La nouvelle diff entre mon et l'autre machine

1211c1211 
< +-- [email protected] 
--- 
> +-- [email protected] 
1222a1223,1225 
> | +-- [email protected] 
> | | +-- [email protected] 
> | | `-- [email protected] 
1223a1227,1230 
> | +-- [email protected] 
> | | +-- [email protected] 
> | | `-- [email protected] 
> | | `-- [email protected] 
1257c1264 
< | +-- [email protected] 
--- 
> | +-- [email protected] 

Mais la construction sur l'autre machine jette toujours la même erreur. Etes-vous sûr d'avoir gulp dans les exigences de développement?

Répondre

0

auto réponse, certains maven/antrun/magic jdk - Je me cogner la tête contre le mur à plusieurs reprises.

Quand je commencé à tester sur la machine de mon collègue, il a mentionné « Je suis sur JDK6 parce que je développe cela et que »

« Pas de problème », je l'ai dit, « ce n'est pas java ". Mais ce était le problème Le passage à jdk8 a permis à la construction de fonctionner sur la machine du collègue. Peut-être que j'aurais dû tester la construction de la ligne de commande sans maven, juste "gulp build" sur l'invite, car je suppose que le problème jdk est lié à maven -> antrun/ant -> gulp et non au noeud et/ou déglutir se

se souvenir de l'erreur lors de l'utilisation JDK6 (?):

[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js' 

Résumé

Vous peut mettre en place un fichier zip contenant gl installations de nœud Obal et l'utiliser sur d'autres machines, il suffit de ne pas oublier de

  • utilisation pas vieux java
  • définir les variables d'environnement et.npmrc contenu pour faire correspondre les répertoires que vous utilisez

Exemple

  • zip contient une installation de nœud décompressé (win64 zip de nodejs par exemple)
  • zip contient nœud-packages et node- cache
  • Décompressez à c: \ global nœud
  • set NODE_PATH = c: \ nœud global \ nœud-v6.11.4-win-x64; c: \-nœud global \ NPM-packages \ node_modules
  • set NPM_PACKAGES = c: \ global-node \ npm-packages
  • Définir/étendre le chemin avec "; c: \ global-node \ noeud-v6.11.4-win-x64; c: \ global-node \ npm -Les forfaits »
  • votre ~/.npmrc a besoin d'un préfixe entrée = c: \-nœud global \ NPM-paquets
  • et un cache d'entrée = c: \ nœud global \ NPM-cache

Et vous avez terminé avec une installation de nœud zippé global réutilisable.

0

Essayez - npm install gulp --save-dev

+0

Merci, cela vous dérangerait-il d'expliquer plus de détails? Je suis un nœud-noob absolu, une autre société a préparé la construction en utilisant l'IDE Liferay et je veux l'intégrer comme une ligne de commande. Que fait exactement cette commande que vous avez mentionnée? – Gunnar

+0

Cette commande enregistre le module glup en tant que dépendance de développement. Si vous ouvrez votre packages.json, vous verrez qu'il a été ajouté à la bonne section. Voir - https://stackoverflow.com/questions/19223051/grunt-js-what-does-save-dev-mean-in-npm-install-grunt-save-dev – Fraser

+0

Je vois, merci. Mais avez-vous lu que la construction de thème fonctionne sur ma machine mais pas sur une autre machine de développement, quand je zippe mon installation complète et la décompresse là? Votre conseil est-il lié à ce problème? – Gunnar