【问题标题】:Yeoman returns 'env: node\r: No such file or directory'Yeoman 返回 'env: node\r: No such file or directory'
【发布时间】:2013-12-10 00:38:29
【问题描述】:

我已按照这些说明 installing Yeoman。一切都很好,直到我 cd 进入目录并从终端执行yo webapp(也尝试了sudo yo webapp)。它返回env: node\r: No such file or directory,我从来没有达到选择网络应用程序类型的步骤。有任何想法吗?在 Mac OS 10.9 上。更新了 Ruby、Node.js、Git。根据我的阅读,Yeoman 安装了 Grunt 和 Bower。

【问题讨论】:

  • 看起来可能和这个问题一样:stackoverflow.com/questions/18431107/… ?与路径中的节点有关吗? OSX 将节点安装到/usr/local/bin/node
  • 是的,确实如此。我认为需要有一个特殊的视频供我们 Mac 拒绝如何正确安装 Yeoman。我确实通过 Mac 包安装程序而不是通过终端安装了 node 和 npm。和 Yeoman 通过终端。那么,纠正这种情况以使一切顺利的最简单方法是什么?
  • 我已经通过检查bower --version 成功验证了要安装的节点、npm、grunt 和 bower 的存在和当前。但是,如果我检查 yo --version 它会给我同样的错误。然而,我在安装时没有收到任何错误。我在这里看到它:/usr/local/bin/yo 那么,它就在那里……?
  • 认为最好的办法是删除所有这些并通过源安装节点。
  • 查看这个 SO 问题的答案:stackoverflow.com/questions/20504891/…

标签: macos node.js gruntjs yeoman bower


【解决方案1】:

我只是在另一个项目中遇到了这个问题。我通过在 vim 中打开正在执行的 .js 文件(/usr/local/lib/node_modules/[project_name]/bin/[executing.js])并使用以下命令来修复它

:set ff=unix

【讨论】:

  • 谢谢,这对我有帮助!
【解决方案2】:

看起来像你在被问到这个问题时使用的 Yeoman 版本使用了 windows 换行符 \r\n。因此,在文件的顶部,#!/usr/bin/env node 实际上导致 shell 尝试运行一个名为 node\r 的命令。 (注意最后的回车)。

这可能现在已经修复,但这不是节点问题,而是 windows-newlines-in-osx 问题。回车应替换为\n 换行符。

【讨论】:

    【解决方案3】:

    用 vim 打开脚本。

    :set ff=unix修改文件格式。

    :wq!保存并退出。

    【讨论】:

      猜你喜欢
      • 2014-01-20
      • 2021-03-28
      • 2015-07-28
      • 2023-04-03
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多