簡體   English   中英

Shell腳本在MRI和jruby之間切換

[英]Shell script to switch between MRI and jruby

在一個使用jRuby的項目上工作,但在我工作的時候,我經常使用MRI,因為它更快。

現在切換到是一個主要的煩惱,這是我如何從jruby切換到MRI:

rvm use ruby-2.1.5
sed -i.bak 3s/.*/ruby" '2.1.5'"/ Gemfile 

這取代了我的Gemfile並指定了正確版本的ruby。 現在我想從我的rails項目的bin/文件夾中創建兩個可執行文件,一個名為mri ,另一個名為jruby因此我可以使用一個命令在兩者之間來回切換,以便團隊中的每個人都可以使用相同。

問題在於,當shell執行時,RVM不會更改當前會話中的ruby版本。 所以我自然得到這樣的信息:

您的Ruby版本是2.0.0,但您的Gemfile指定為2.1.5

  1. 這是一個很好的方法,我正在嘗試做什么? 我確定我不是第一個嘗試這個的人

  2. 你有沒有適合你的東西?

正如評論所指出的,您需要重新獲取rvm腳本。 您可能只~/.bash_rc再次提供~/.bash_profile~/.bash_rc ,因為它們應該來源。

話雖這么說,我沒有用rbenv這個問題,但我只在MRI版本之間交換。 還有一個.ruby-version文件的規范, 這里看到RVM和rbenv榮譽。

對於捆綁bin存根,您可以使用bundle binstubs --path mri-bin 指定bin路徑 bundle binstubs --path mri-bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM