5 votes

Env: nœud\r: Aucun fichier ou répertoire de ce type avec cordova cli

Lorsque j'essaie d'exécuter cordova cli sur OSX, j'obtiens une erreur

env: node\r: Aucun fichier ou dossier de ce type

J'ai obtenu la dernière version de cordova sur npm, donc je pense que c'est la version 3.0.7

14voto

nehemiahjacob Points 122

Solution:

$ brew install dos2unix
$ find /usr/local/lib/node_modules -name "*.js" | xargs sudo dos2unix

Détails:

Le problème pour OP était lié à Git, cependant je prends un moment pour mentionner la solution rapide pour la plupart des cas

Le problème surviendra si Node essaie d'exécuter un fichier .js qui a des fins de ligne de style Windows. Le problème pourrait provenir de packages npm tiers qui ont des fichiers .js de ce type.

Comme l'a mentionné @Leo, Dos2Unix est la réponse, voici la chaîne de commandes pour une situation d'exemple alors que j'essayais d'installer Slack-cli

> npm install -g slack-cli
> slackcli
env: node\r: No such file or directory

La solution ressemble à

> brew install dos2unix
> find /usr/local/lib/node_modules/slack-cli -name "*.js" | xargs sudo dos2unix
> slackcli --help

Voilà..

5voto

Leo Points 1355

Le problème semble être que cordova est au format dos

une fois que je l'ai converti au format Unix, cela semble fonctionner. Je ne reçois pas l'erreur env: node\r: Aucun fichier ou dossier de ce type.

J'ai utilisé dos2unix pour effectuer le changement https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg

Sur ma machine, le fichier cordova était en fait dans usr/local/lib/node_modules/cordova/bin/cordova

4voto

Yahel Points 5018

Sur mon Mac OS X.

Je suis tombé sur le même problème : Mes fichiers avaient leurs fins de lignes changées en CRLF (windows) au lieu de LS (unix).

Cela a rendu impossible à Cordova et Node de compiler le projet avec l'erreur :

env: node\r: Aucun fichier ou dossier de ce type

Le coupable était GIT qui était en AUTOCRLF je ne sais pas pourquoi. J'ai exécuté la commande suivante dans le terminal :

git config --global core.autocrlf input

Ensuite, j'ai dû supprimer le projet et le recloner depuis GIT et ça a fonctionné comme un charme.

0voto

Yuri G. Points 33

Pour moi, le problème se trouve dans la bibliothèque gulp installée dans le fichier :

'/node_modules/gulp/bin/gulp.js'

Il y a un '\r' à la fin de la ligne '#!/usr/bin/env node'. Version :

"github:gulpjs/gulp#4.0"

Cela a été corrigé en définissant :

git config --global core.autocrlf input

Et en rechargeant le dépôt

0voto

Stark355 Points 26

Dans mon cas, la solution a été d'exécuter cordova avec sudo (ubuntu 20.04)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X