我正在将一个 rails 应用程序从我的桌面移动到共享主机,并且遇到了 gem 依赖项的问题。
我在 environment.rb 中声明了这个:
config.gem "icalendar"
当我第一次尝试为应用程序启动控制台时,我收到了错误消息,要求我 rake:install the gem。我使用共享主机 gem 安装过程在 ~/ruby/gems 中安装 gem,并确认 gem 在那里。
ls -rlt ~ruby/gems/gems/icalendar-1.1.0/
total 64
drwxr-xr-x 4 user user 4096 Dec 12 13:15 docs/
drwxr-xr-x 3 user user 4096 Dec 12 13:15 ../
drwxr-xr-x 5 user user 4096 Dec 12 13:18 test/
drwxr-xr-x 3 user user 4096 Dec 12 13:18 lib/
(我在这里手动替换了实际的用户/组)
然后我将它添加到我的 environment.rb 中:
ENV['GEM_PATH'] = "/home/USER/ruby/gems"
(再次,实际用户替换)
下次我运行脚本/控制台时,应用程序加载正常。然后我尝试启动服务器,并收到此错误:
Missing these required gems:
icalendar
You're running:
ruby 1.8.7.22 at /usr/bin/ruby
rubygems 1.3.5 at /home/USER/ruby/gems, /usr/lib/ruby/gems/1.8
我试着稍微调整一下路径,但这没有任何效果。我在这里和整个谷歌上浏览了一下,没有看到任何直接解决这个问题的东西——我认为控制台和服务器都会在环境配置中使用 GEM_PATH。看起来也不是权限问题。有任何想法吗?感谢您对此的帮助。