Git Shell(mingw)中的Meteor

5

我正在尝试学习Meteor JS的教程,但是我无法使用GitHub for Windows自带的Git Shell正常运行它。Git Shell找不到meteor命令。在cmd中可以正常工作,并且已经在Windows环境路径中添加了该命令。我做错了什么?

2个回答

12

要在MinGW的MSYS shell中运行*.bat命令,您必须将执行重定向到cmd.exe,因此:

cmd //c foo.bat [args ...]

foo.bat命令文件必须$PATH目录中的一个目录中,(或者您必须使用斜杠指定完整路径名...使用斜杠,不要使用反斜杠,除非您对于每个路径名分隔符使用两个)。此外,请注意双斜杠以通知cmd.exe您正在使用其/C选项,(因为它不接受MSYS shell首选的-c形式)。

如果您想要从MSYS shell 直接执行foo.bat文件,可以创建一个两行Bourne shell包装脚本,只需将其命名为foo并与之一起放置(与foo.bat 在同一个目录中),如下:

#!/bin/sh
cmd //c "$0.bat" "$@"

所以在您的情况下,您需要创建脚本文件meteormeteor.bat并存。

实际上,由于此包装器脚本是完全通用的,只要您的文件系统支持硬链接(如NTFS对单个磁盘分区上的文件),您可以创建一个包装器脚本,并将其链接到您想要以这种方式调用的所有*.bat文件名;(提示:使用MSYS ln命令链接文件)。


这个可以用。谢谢你的帮助。我能否在我的bash配置文件中添加一些内容,以便'meteor'命令在MinGW中与cmd中的使用方式相同? - Sean
@Sean:没有简单的“profile”添加方法,但是您可以为每个*.bat文件创建一个简单的包装脚本;有关详细信息,请参见我的扩展答案。 - Keith Marshall
我创建了你提到的脚本,它完美地运行了。谢谢。 - Sean

0

我没有使用Windows,所以无法告诉您确切的路径,但您需要搜索'meteor'所在的'bin'文件夹的路径(类似于C:...\bin),然后将其添加到PATH环境变量中。

或者,您可以在此处安装可用的Meteor Windows版本:https://win.meteor.com


我使用Windows安装程序进行了安装,并已添加至路径中。但在Git shell中无法运行。 - Sean
也许是git shell没有加载PATH变量。尝试使用绝对路径调用可执行文件meteor.exe。 或者直接使用meteor.exe命令而不是meteor,在Windows中,任何事情都有可能... - José Ricardo Ribeiro
看起来没有meteor.exe,只有一个meteor.bat,我猜在MinGW的路径上它的工作方式与cmd或powershell不同。 - Sean
@Sean:如果Meteor的可执行文件以.bat文件的形式提供,那么显然它是打算从cmd.exe中运行的。MinGW的MSYS shell(我相信这是Windows版Git所推广的),不能直接运行它(它可以运行.exe或Bourne shell脚本,但不能运行.bat文件)。但是你可以通过在$PATH目录中运行cmd //c meteor ...来间接地运行它(假设meteor.bat在其中一个目录中)。 - Keith Marshall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接