如何使用gitbash而不是windows cmd.exe与meteor版本0.7.0.1-win2

时间:2014-01-20 18:42:29

标签: windows-8 meteor

我开始使用Meteorjs。我是Windows用户,所以我下载了Windows安装程序包Release 0.7.0.1-win2。我使用gitbash作为我的命令行界面,无法让它识别流星。我收到错误“sh.exe”:meteor:command not found“。它在Windows命令行中工作正常,但我更喜欢gitbash。

如何让meteor使用gitbash?

5 个答案:

答案 0 :(得分:83)

我有完美的答案,因为我自己刚刚解决了这个问题。

首先确保meteor在默认的Windows命令提示符下工作。接下来打开git bash并检查以下命令是否有效:

cmd //c meteor

这会运行命令meteor,就像您在命令提示符下一样。

下一步是在git bash中设置一个别名,这样你就不必每次都输入一个别名。

打开git bash并输入以下内容:

vim ~/.bashrc

这将在VIM中打开/创建bashrc文件,按i插入并键入以下内容:

alias meteor="cmd //c meteor"

首先按Esc键保存并退出vim,然后按":"键。现在您应该能够在VIM中输入命令。输入" wq"然后按Enter键,它将写入.bashrc文件并退出vim。

几乎就在那里!既然你已经回到了git bash,你需要做的就是通过输入以下内容指向你的.bashrc文件:

source ~/.bashrc

现在你可以直接从git bash运行流星命令了!希望有所帮助!

答案 1 :(得分:2)

以下是修复:

  

问题是由于.bat文件无法正确处理   MinGW的

转到此目录 - C:\Users[your username]\AppData\Local\.meteor 你应该在那里看到一个meteor.bat文件。创建一个名为" meteor"的新文件。 (没有任何扩展和"")。用记事本打开它并粘贴以下内容:

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

保存文件,然后运行git bash。你应该能够在git bash中使用meteor命令。

详细

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

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

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

如果您想从MSYS shell中直接生成foo.bat文件可执行文件,您可以创建一个名为foo的双行Bourne shell包装器脚本与它一起,(在与foo.bat相同的目录中),因此:

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

(因此,在您的情况下,您需要在meteor旁边创建脚本文件meteor.bat)。

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

致信:Keith Marshall on SO和rakibul on the Meteor Forums

答案 2 :(得分:1)

它不应该太难 - 您只需要确保meteor.bat文件在您的可执行文件中。检查bash控制台中的echo $PATH是否已存在。

对我来说,meteor 0.7.0.1-win安装程序会自动将meteor的文件夹附加到路径中。但是,您可以手动添加:

export PATH=$PATH:/path/to/user/folder/AppData/Local/.meteor

(在CygWin我的用户文件夹位于/cygdrive/c/Users/adam - 我不确定git bash上的等效路径是什么。)

如果您愿意,可以将该行附加到~/.profile,以确保在控制台打开时将meteor添加到路径中。

最后,在Windows上,可执行文件为meteor.bat。我创建了文件名meteor的符号链接,因此我不必输入.bat

cd /path/to/user/folder/AppData/Local/.meteor
ln -s meteor.bat meteor.

答案 3 :(得分:1)

请查看问题https://github.com/sdarnell/meteor/issues/18

我建议创建一个简单的包装器脚本或别名,用原始参数调用LaunchMeteor.exe。

答案 4 :(得分:0)

经过对谷歌的更多研究后,我发现还没有一种实现方法可以做到这一点。如果你有解决方案,流星的人正在研究并接受拉取请求。我得出的结论是使用Vagrant和virtualbox为流星开发设置ubuntu vm。您可以在以下站点找到有关如何安装虚拟机和配置以使用meteor的信息。{/ 3}}。