如何配置 Ruby 以在每个项目的基础上使用正确的 gemset 或 Ruby 版本?

Sri*_*har 7 ruby rvm

我打开一个终端并导航到我的项目文件夹(例如:)cd /proj/tickecting_app。这之后,我执行以下命令:rvm use ruby 1.9.x@gemset

我希望每次打开终端时都运行此命令。

有没有办法自动运行它?更具体地说,我在不同的选项卡中导航到不同的项目。

例如:

  • 第一个选项卡cd /proj/tickecting_app并运行rvm use ruby 1.9.x@gemset
  • 第二个选项卡cd /proj/rss_feed_app并运行rvm use ruby 2.1.x@gemset

我想根据项目运行不同的命令。这可能吗?

小智 10

如果您使用的是 RVM,那么只需.rvmrc在您的项目目录中放置一个文件,其中包含以下内容:

rvm use ruby 1.9.x@gemset
Run Code Online (Sandbox Code Playgroud)

对于您的第二个项目,它是相同的,只需更改rvm调用即可。

  • 感谢您尝试解决 OP 的根本问题。 (5认同)

beg*_*ner 6

别名可能对您有用。您可以alias为每个特定目录创建您需要运行的命令。因此,对于您给出的两个示例,它将是:

alias ticketapp='cd /proj/tickecting_app && rvm use ruby 1.9.x@gemset'

alias feedapp='cd /proj/rss_feed_app && rvm use ruby 2.1.x@gemset'
Run Code Online (Sandbox Code Playgroud)

所以下次你只需要给alias(不需要给cd)即ticketappfeedapp在上述情况下。

要使您的别名永久化,只需:

vim ~/.bashrc

并在.bashrc文件中按原样提供这些别名命令。