such sublime node index error coffeescript build-automation sublimetext sublimetext3

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



coffeescript sublime text 3 (7)

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"

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.


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


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).


Escribe lo siguiente en la consola:

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


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


Cómo resolver el problema bajo un sistema Ubuntu

El hecho es que el comando "coffee" llamará a / usr / bin / node para continuar con su trabajo, sin embargo, el comando original "node" para la aplicación de nodo en un sistema Ubuntu se cambia de "node" a "nodejs" para evitar el conflicto de nombres . Esa es la razón por la que el shell le cumplirá "/ usr / bin / env: node: no existe ese archivo o directorio". cada vez que escriba

$ coffee

Para resolver el error, simplemente deje que el shell encuentre algo llamado "nodo" en su ruta de búsqueda predeterminada, y este llamado "nodo" promoverá nodejs. El comando "nodejs" se encuentra en la ruta de / usr / bin / nodejs.

Usaremos el enlace del símbolo para vincular "nodo" con nodejs, y colocaremos el enlace "nodo" dentro de la ruta de búsqueda predeterminada, para que el shell lo encuentre.

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

Pero tenga cuidado, asegúrese de que NO tiene otro comando de "nodo" en / usr / bin /, puede verificarlo intentando ejecutar

$ which node

NO sé qué hacer si ha instalado otra aplicación de "nodo".