Rails 2.2.2问题:Gem的未定义方法`activate_bin_path’:Module(NoMethodError)
我正在研究Rails 2.2.2应用程序。 为此,我安装了Ruby版本1.9.3p551的rvm。 此应用程序没有Gemfile。 所以我在environment.rb文件中提到过我用rails和sqlite3创建了一个Gemfile。 在运行rake db:create时,我遇到了以下问题。
whoami@myvm:~/Desktop/practice/store$ rake db:create /home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/rake:22:in `': undefined method `activate_bin_path' for Gem:Module (NoMethodError) from /home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval' from /home/whoami/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `'
请帮我。
对我来说,(我正在使用RVM)它只运行:
gem update --system gem update bundler
你试过这些命令吗?
将/ usr / lib / ruby / site_ruby /重命名为site_ruby.bak /运行以下命令:
gem install rubygems-update enter code here update_rubygems
如果您收到错误,请尝试以下方法:
ruby –disable-gems -S update_rubygems
我有一个类似的问题,当运行独立passenger
,它工作正常。 但是,使用systemd服务运行它会产生与OP相同的错误:
undefined method `activate_bin_path' for Gem:Module (NoMethodError)
我设法用它来解决它
env | egrep 'gem|rvm|ruby' > passenger.env
并使用EnvironmentFile=[...]/passenger.env
将其添加到服务文件中。
希望这对其他坚持这一点的人有用。
这通常发生在你有多个版本的RVM和gem集时,它通常用于ruby 2.2.2,摆脱这个ERROR的最好方法是。
首先使用以下内容更新系统gem
gem update --system OR update_rubygems --system
然后你必须更新你的捆绑包:
gem update bundler
尝试运行bundle
cd myapp gem install bundler bundle install bundle exec rake db:create