在 cygwin 中使用 apm 和 atom 编辑器命令的问题

Problems using apm and atom editor command in cygwin

目前无法让 apm 命令与 cygwin 一起工作,下面是我一直在尝试执行 apm --version 并遇到这些错误:

/cygdrive/c/Users/Nat/AppData/Local/atom/bin/../app-1.3.2/resources/cli/apm.sh: 第 2 行:$'\r': 未找到命令

/cygdrive/c/Users/Nat/AppData/Local/atom/bin/../app-1.3.2/resources/cli/apm.sh: 第 4 行: /cygdrive/c//../app/apm/bin/node.exe: 没有这样的文件或 directoryrces/cli

我还确保将 apm 和 atom cmd 的位置添加到我的路径变量中,但它仍然无法正常工作。目前正在使用 cygwin64 终端在 windows 7 上进行尝试。

编辑:

出于某种原因,它可以在 windows cmd 上运行,但不能在 cygwin 上运行,不确定造成它的区别是什么,所以它在 cygwin 上不起作用,但可以在 cmd 上运行。

你试过运行宁atom.cmd了吗?您也可以根据错误消息尝试 运行ning dos2unix 脚本。

来源:https://github.com/atom/atom/issues/9169

编辑:

'\r' 字符(通常用于 Windows 中的换行符)往往会在 cygwin 中引起问题。您可以尝试使用 dos2unix 命令剥离它。但是,如果你这样做,你可能 运行 会遇到不同的问题(使用像 mosbth 在上面的源 link 中所做的那样的路径)。

atom.cmd 应该 运行 在 cygwin 上顺利运行。

根据消息来源的 apjanke:

atom.cmd is known to be a native Windows program, based on file extension (I think), so automagic Cygwin->Windows path translation happens when you invoke it from a shell running under Cygwin. Plain atom is a shell script, which runs in the Cygwin Unix space, so automagic path translation doesn't happen.

(对于之前无法解释的回答,我深表歉意。我会在问题下发表评论,但我还没有特权。)

解决此问题的最简单方法是将以下行添加到您的 .bashrc 文件中:

alias atom='atom.cmd'
alias apm='apm.cmd'

这将导致 atomapm 命令使用 windows 版本。