such Sistema de compilación CoffeeScript de Sublime Text: `env: node: No existe tal archivo o directorio`




sublimelinter#1 eslint index js error env node no such file or directory (6)

Estoy tratando de configurar un sistema de compilación CoffeeScript en Sublime Text 3, pero sigo recibiendo el siguiente error:

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]

Mi sistema de compilación se ve así:

{
    "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"
}

Dos cosas extrañas sobre esto.

1) Dice que está buscando en /usr/bin donde existe un enlace simbólico al coffee .

2) Debido a (1), anulé $PATH para incluir la ubicación real del coffee que es /usr/local/lib/node_modules/coffee-script/bin , pero por alguna razón, $PATH no se anula correctamente. se está pegando con el $PATH predeterminado.

Cosas a tener en cuenta:

i) He verificado que todas las rutas son correctas y pasan normalmente a través de un comando de terminal regular.

ii) Probado con un "shell": true variable "shell": true en el sistema de compilación.

iii) Tengo otro sistema de compilación para Compass como este que funciona bien.

¿Alguien se encuentra con problemas similares o problemas? ¿Algunas ideas?


El siguiente código me funcionó en Ubuntu 14.04:

**$ sudo apt-get install NodeJS-legacy** 

El otro problema fue que los marcos de verificación de versión, como por ejemplo: gulp -v el mismo código también resolvió este problema.


Tuve el mismo problema con Sublime Text 2. La creación de esta construcción sublime funcionó para mí:

{
"cmd": ["coffee", "-c", "$file"],
"selector" : "source.coffee",
"path" : "/usr/local/lib/node_modules/coffee-script/bin/:/usr/local/bin:$PATH"  
}

En Ubuntu puedes instalar el paquete nodejs-legacy.

sudo apt-get install nodejs-legacy

este paquete solo crea un enlace simbólico a binarios nodejs


Escribe lo siguiente en la consola:

sudo ln -s /usr/bin/nodejs /usr/bin/node

En la Terminal, escriba which node , luego cree un enlace simbólico a esa ubicación en /usr/bin . Por ejemplo, si el node vive en /usr/local/bin , cree el enlace simbólico así:

sudo ln -s /usr/local/bin/node /usr/bin/node

Si observa la fuente de su script de coffee , probablemente encontrará que la primera línea es algo así como:

#!/usr/bin/env node

El código de salida 127 en Sublime significa que un comando env ha fallado, por lo que en su caso, el sistema de compilación encuentra coffee , pero no puede ejecutarlo porque el binario del node no se encuentra en la ruta de búsqueda predeterminada de Sublime.

Hay dos formas de redefinir la ruta de búsqueda predeterminada para Sublime. El primero (y el más fácil) es abrirlo siempre desde la línea de comandos utilizando el comando subl incorporado. Si es un usuario avanzado de OS X y no le importa jugar con configuraciones importantes del sistema, consulte mi publicación en unix.SE sobre cómo modificar la ruta predeterminada /usr/bin:/bin:/usr/sbin:/sbin path que estas viendo Tenga en cuenta que si no hace las cosas correctamente, puede romper su sistema. Sin embargo, si está ejecutando Mountain Lion (10.8.X) y sigue las instrucciones exactamente, todo debería estar bien. (No he actualizado a Mavericks, así que no hay garantías de que funcionará con esa versión).


Debería poder arreglar todo esto en su sistema de compilación sin necesidad de agregar un enlace simbólico en su máquina.

Por ejemplo, si el nodo vive en / usr / local / bin / node, todo lo que tiene que hacer es cambiar la ruta en su sistema de construcción para que sea:

"path": "/usr/local/bin:$PATH"




sublimetext3