我正在尝试运行的命令是rails _3.2.13_ new App
当我在命令行中运行它时会创建一个版本为3.2.13的Rails应用程序,但是当我使用system "rails _3.2.13_ new #{self.name} -T -B"
运行它时,它会创建一个Rails应用程序,其中包含最新版本的Rails而不是3.2.13版本。< / p>
答案 0 :(得分:1)
这是Ruby使用/bin/sh
执行shell命令的结果,而您可能每天都在终端中使用/bin/bash
。每个加载方式以及每个加载方式中的特定配置都将改变配置。
如果您通过拨打which rails
并在终端中运行system
,您可能会看到不同的路径。检查echo $PATH
,您可能也会看到不同的结果。
要解决这种情况,您可以查看What's the difference between .bashrc, .bash_profile, and .environment?,它可以让您更好地了解正在发生的事情,然后调整您的shell配置以适应。