comment installer noeud canvas js sur windows

J’essaie d’obtenir un canevas de travail sur le noeud js. J’utilise Windows Vista. Après une approche de base, npm install canvas échoué (voir erreur ci-dessous), j’ai consulté des tutoriels, voici ce que j’ai essayé:

sources:
installation-node-canvas-for-windows
LearnBoost / node-canvas / wiki / Installation — Windows

  • J’ai installé Python plus ancien (2.7.5) et l’ajoute à PATH (et supprime Python 3.2. De PATH)
  • J’ai vérifié que Microsoft Visual Studio 2010 Professional est installé
  • J’ai téléchargé le package GTK «tout en un» depuis http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip , le décompresser dans C: \ GTK \ et append ‘C: \ GTK \ bin’ à PATH

connectez-vous à la console (après avoir exécuté npm install canvas in cmd):
log contient plusieurs avertissements, je ne pense pas que ce soit le problème – il s’agit généralement de quelque chose comme «conversion du double au flottant», et une erreur marquée en rouge:

 init.cc d:\pathToApp\node_modules\canvas\src\PNG.h(5): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory [d:\pathToApp\n ode_modules\canvas\build\canvas.vcxproj] 

Et à la toute fin du journal, il y a:

 gyp ERR! build error gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\ npm\node_modules\node-gyp\lib\build.js:267:23) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789: 12) gyp ERR! System Windows_NT 6.0.6002 gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu les\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd d:\pathToApp\node_modules\canvas gyp ERR! node -v v0.10.16 gyp ERR! node-gyp -v v0.10.9 gyp ERR! not ok npm ERR! weird error 1 npm ERR! not ok code 0 

Après cela, rien n’est apparu dans le dossier node-module (pas de sous-répertoire canvas, npm après une installation infructueuse a supprimé le sous-répertoire).

Donc, j’ai aussi essayé de télécharger manuellement le module de canvas à partir de github, le décompresser dans node-modules et ensuite exécuter node-gyp configure dans node-modules / canvas avec succès, et node-gyp build , ce qui m’a malheureusement node-gyp build la même erreur. Cannot open include file: 'cairo.h' .

J’ai lu tout ce que j’ai trouvé sur ce sujet attentivement. Si vous pouvez suggérer une aide, faites-le s’il vous plaît.

    J’ai réussi à le faire fonctionner sur ma nouvelle machine Windows 8, donc je veux partager quelques détails qui peuvent être utiles aux autres.

    J’utilise:

    Procédure

    Assurez-vous d’avoir Python 2 et GTK \ bin sur votre chemin.

    J’ai téléchargé les fichiers manuellement depuis https://github.com/Automattic/node-canvas et les ai enregistrés dans node_modules / canvas .

    Ensuite, je lance node-gyp configure build dans le répertoire canvas. Des erreurs sont survenues. J’ai dû éditer binding.gyp ( https://github.com/Automattic/node-canvas/blob/master/binding.gyp ) afin de faire correspondre les fichiers réels dans le dossier GTK.

    Par exemple:

    • ligne 59: “(GTK_Root) /lib/libpng.lib” -> “(GTK_Root) /lib/libpng.dll.a”
    • ligne 34: “(GTK_Root) /bin/libpng14-14.dll” -> “(GTK_Root) /bin/libpng15-15.dll”

    Il peut y en avoir plus, vous devriez être capable de lire les fichiers qui posent des problèmes à partir du journal des erreurs, puis de modifier les noms pour qu’ils correspondent aux fichiers du dossier GTK.

    Après avoir édité binding.gyp, la commande node-gyp configure build . Bien que je ne puisse pas travailler avec certains fichiers jpg dans Canvas (je ne l’ai pas testé correctement), les fichiers png fonctionnent correctement.

    Si node-gyp échoue

    Il peut vous arriver que chaque commande node-gyp échoue avec un message (éventuellement marqué en rouge) similaire à:

    “… bcrypt_lib.vcxproj (47,46): erreur MSB4025: Impossible de charger le projet de fichier. Un caractère non valide pour le codage spécifié., Ligne 47, position 46.”

    C’est probablement parce que vous avez un caractère spécial dans le nom de votre dossier utilisateur. (Le fait que Windows 8 crée automatiquement le nom de votre dossier utilisateur à partir de votre prénom est la plus mauvaise chose à propos de Win 8).

    2 solutions rapides:

    • créer un autre utilisateur avec un nom normal (sans caractères spéciaux) a et exécuter node-gyp configure build partir de ce compte
    • utilisez cette solution rapide (cela a fonctionné pour moi): https://github.com/TooTallNate/node-gyp/pull/366

    J’espère que cela t’aides.

    J’ai réussi à faire en sorte que cela fonctionne sur Windows après un long processus ardu. J’ai quelques dernières suggestions que vous pourriez essayer que j’ai sur ma liste.

    Copiez tous les fichiers dll de c: \ GTK dans le dossier canvas \ build \ Release.

    Copiez IEShims.dll de c: \ program files (x86) \ Internet Explorer vers le dossier canvas \ build \ Release.

    Ensuite, exécutez build build-gyp.

    Bonne chance.

    J’ai eu des problèmes avec la canvas en essayant d’installer des paperjs .

    Voici ce qui a fonctionné pour moi.

    Mes spécificités

    • Windows 7 x64
    • node-v0.10.26-x64
    • GTK + 2,22 x64

    GTK

    Assurez-vous de lire le README. Il y a des instructions nécessaires ici que j’ai négligées la première fois. Par exemple:

    Exécuter: pkg-config --cflags gtk+-2.0

    Exécutez: gtk-demo et vérifiez qu’il fonctionne

    Exécuter pkg-config m’a fait savoir que je devais avoir \lib\pkgconfig dans la variable d’environnement PKG_CONFIG_PATH .

    Toile

    Je l’ai utilisé comme guide: https://github.com/LearnBoost/node-canvas/wiki/Installation—Windows

    REMARQUE: Visual Studio 2010, 2012 et 2013 sont installés sur ma machine. Je n’ai donc pas eu à gérer les dépendances MSVC.

    npm install canvas échouait toujours – et nettoyait après lui-même (le jerk) – alors j’ai saisi la version en cache du cache npm: %USERPROFILE%\AppData\Roaming\npm-cache\canvas\1.1.3\package . Copiez ce répertoire dans le répertoire node_modules votre projet et renommez-le canvas . Entrez le répertoire canvas nouvellement créé sur la ligne de commande.

    Exécutez npm install nan .

    Avant de pouvoir exécuter la node-gyp configure , vous devez vérifier votre chemin GTK dans binding.gyp

    En ligne 5:

    ‘GTK_Root%’: ‘C: / GTK’, # Définit l’emplacement du bundle tout-en-un GTK

    Maintenant, vous pouvez essayer la node-gyp configure . Si c’est réussi, génial! Maintenant, vous pouvez le construire: node-gyp build .

    Ça devrait le faire. Si vous essayiez d’installer du papier, vous pouvez maintenant le faire. Hourra!

    Si cela ne fonctionne pas ou si vous avez quelque chose à append, ne soyez pas timide! S’il vous plaît commenter afin que nous puissions tous bénéficier.

    Vous aurez besoin de cairo library qui est inclus dans GTK

    Voici les informations les plus récentes sur l’installation des composants nécessaires à l’exécution de node-gyp, qui à leur tour sont nécessaires pour comstackr le code pour canvas (et jsdom). Je vais le reproduire ici au cas où le lien mourrait. J’ai testé ces instructions sur mon ordinateur Win7 x64 et cela a fonctionné pour la première fois.


    Sous Windows XP / Vista / 7, node-gyp requirejs Python 2.7 et Visual Studio 2010

    Selon le fichier Lisez- moi de la mise à jour du compilateur Microsoft Visual C ++ 2010 Service Pack 1 pour Windows SDK 7.1 , pour vous assurer que votre système dispose d’une configuration prise en charge, désinstallez les produits suivants, puis réinstallez-les dans l’ordre indiqué :

    1. Visual Studio 2010
    2. Windows SDK 7.1 Remarque: Si vous obtenez une erreur lors de l’installation, ce lien vous aidera peut-être.
    3. Visual Studio 2010 SP1
    4. Mise à jour du compilateur Visual C ++ 2010 SP1 pour Windows SDK 7.1

    Sur les environnements x64, la dernière mise à jour de la liste corrige des erreurs sur les compilateurs manquants et l’ error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.