+1
@kikyous 有效!!!spring stop
后再运行 rails g
或者 rails c
都可以了,这是什么原理?
感谢 8 楼,我刚从 python 转过来,对 ruby 的包管理不是很清楚,8 楼很好的解释了两者的区别,之前还是一直按 python 模式处理的,所以才显得非常别扭。 之所以说 gemset 不行只是因为很慢,rvm 需要重新安装一个 ruby,而不是想 virtualenv 那样复制一下就可以了。看样子还是要先学习 bundle 的管理方式。
恩,貌似也只有这一个办法了
我想要的不是 rvm 或者 rbenv,事实上我完全没有多版本 ruby 的问题,我想要的是想 python 的 virtualenv 那样,在执行
source bin/activate
后就处于一个完全隔离的环境中了,无论是 easy_install 还是 pip 都不会影响系统环境,只要 deactivate 后在虚拟环境中安装的包是不可见的。 找了一圈,目前发现最接近的方案是使用 bundle,安装时使用
bundler install --binstubs --path vendor
但是这样的方案还是不是很方便,比如安装 rails 后执行 rails 命令必须写全路径才行。