Sublime Text CoffeeScript système de construction: `env: nœud: Aucun fichier ou répertoire`
Je suis en train de configurer un CoffeeScript système de construction dans Sublime Text 3, mais je reçois l'erreur suivante:
env: node: No such file or directory
[Finished in 0.0s with exit code 127]
[cmd: ['coffee', '-o','/Users/jcourtdemone/Sites/autotempest.com/new_design_sandbox/static/script', '-cw', '/Users/jcourtdemone/Sites/autotempest.com/new_design_sandbox/static/coffee']]
[dir: /Users/jcourtdemone/Sites/autotempest.com/new_design_sandbox/static/coffee]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
Mon système de construction ressemble à ceci:
{
"name": "Coffee - AT",
"cmd": ["coffee","-o","${project_path:${folder}}/static/script","-cw","${project_path:${folder}}/static/coffee"],
"selector": "source.coffee",
"path":"/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/lib/node_modules/coffee-script/bin"
}
Deux choses d'étrange à ce sujet.
1) il dit qu'Il est à la recherche dans /usr/bin
où un lien symbolique vers coffee
existe.
2) en Raison de (1), j'ai remplacé $PATH
pour inclure l'emplacement réel de coffee
qui est /usr/local/lib/node_modules/coffee-script/bin
, mais pour une raison quelconque, $PATH
n'est pas remplacée correctement, c'est de coller avec la valeur par défaut $PATH
.
Choses à noter:
i) j'ai vérifié que tous les chemins sont corrects et passe généralement par l'intermédiaire d'un régulier de la commande de terminal.
ii) Essayé avec un "shell": true
variable dans le système de génération.
iii) j'ai un autre système de construction pour Boussole comme cela que fonctionne très bien.
Quelqu'un courir dans des problèmes similaires ou des questions? Des idées?
Vous devez vous connecter pour publier un commentaire.
Dans le Terminal, tapez
which node
, puis de créer un lien symbolique vers ce lieu dans/usr/bin
. Par exemple, sinode
vit dans/usr/local/bin
, créez le lien comme ceci:Si vous regardez le code source de votre
coffee
script, vous trouverez probablement que la première ligne est quelque chose le long des lignes de:Code de sortie 127 Sublime signifie qu'une
env
commande a échoué, donc dans votre cas, le système de construction est de trouvercoffee
, mais il ne peut pas s'exécuter parce que lenode
binaire n'est pas dans le Sublime du chemin de recherche par défaut.Il y a deux façons de redéfinir le chemin de recherche par défaut pour Sublime. La première (et la plus simple) est de toujours ouvrir à partir de la ligne de commande en utilisant le haut-
subl
de commande. Si vous êtes un OS X, les utilisateurs de puissance et ne me dérange pas de jouer avec les paramètres importants du système, découvrez mon post sur unix.SE sur comment modifier la valeur par défaut/usr/bin:/bin:/usr/sbin:/sbin
chemin que vous voyez. Attention, si vous ne faites pas les choses correctement, vous risquez de casser votre système. Toutefois, si vous êtes sous Mountain Lion (10.8.X) et vous suivez les instructions à la lettre, tout devrait bien se passer. (Je n'ai pas mis à jour de Mavericks, donc aucune garantie que cela fonctionnera avec cette version.)apt install
de commande. Donc, j'ai créé le doux lien, et le café et le nœud commencé à travailler.Comment résoudre le problème sous un Système Ubuntu
Le fait est "café" commande d'appel /usr/bin/node de poursuivre son travail, cependant, l'original, le "nœud" de commande pour le nœud de l'application sur un système Ubuntu est modifié à partir de "nœud" à "nodejs" pour éviter de nom contradictoires. C'est la raison, l'interface de commande compatible vous "/usr/bin/env: nœud: No such file or directory". chaque fois que vous tapez
Pour résoudre le bug, il suffit de laisser le shell trouver quelque chose appelé "nœud" à sa valeur par défaut de la recherche de chemin, et ce soi-disant "nœud" fera la promotion de nodejs. La commande "nodejs" qui se trouve sous le chemin /usr/bin/nodejs.
Nous utiliserons le symbole de lien "nœud" avec nodejs, et de placer le lien "nœud" dans le défaut de la recherche de chemin, de sorte que le shell va le trouver.
Mais attention, assurez-vous que vous n'avez PAS d'autre "nœud" de commande dans le répertoire /usr/bin/, vous pouvez vérifier en essayez d'exécuter
Je ne sais PAS quoi faire si vous avez installé un autre "nœud" de l'application.
Dans Ubuntu, vous pouvez installer le paquet nodejs-héritage
ce paquet il suffit de créer un lien symbolique vers binaire nodejs
Vous devriez être en mesure de réparer tout cela dans votre système sans avoir besoin d'ajouter un lien sur votre machine.
Par exemple, si le nœud se trouve dans /usr/local/bin/node tout ce que vous avez à faire est de changer le chemin d'accès dans votre build_system être:
J'ai eu le même problème avec Sublime Text 2.
La création de ce sublime construire fonctionné pour moi:
Le code suivant a travaillé pour moi dans Ubuntu 14.04:
L'autre problème a été la vérification de la version de cadres comme pour l'e.g:
gulp -v
le même code de résoudre ce problème.Type de la suivante dans la console: