我正在编写一个rails生成器gem来模拟我的rails应用程序设置。但是,当执行这行代码时:
run "rvm gemset create #{application_name} && rvm gemset use #{application_name}"
“RVM不是函数”出现错误。但是,似乎create命令确实有效:
ruby-2.1.0 - #gemset created /home/edward/.rvm/gems/ruby-2.1.0@blog
ruby-2.1.0 - #generating blog wrappers.
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
顺便说一句,我已经很久以前启用了登录shell
答案 0 :(得分:1)
由于Rails不提供完整的登录shell,您可以通过以下两种方式之一解决此问题:
这可能是一个优雅的解决方案,但可能很难。 RVM Ruby API位于:https://github.com/wayneeseguin/rvm-gem
通过RVM运行命令,如下所示:
run "rvm #{current_ruby} do rvm gemset create #{app_name} --ruby-version"
run "rvm #{current_ruby}@#{app_name} do gem install bundler"
run "rvm #{current_ruby}@#{app_name} do bundle install"