Rails应用程序无法检测本地宝石

时间:2012-03-11 21:52:48

标签: ruby-on-rails ruby gem rvm gemfile

这是一个非常奇怪的,我不知道如何继续。

基本上,我可以安装gems并在除了用rails创建的文件夹之外的任何文件夹中正常使用它们。这非常奇怪。很难解释所以这个控制台输出可能会解释

    passenger@rubyserve:~/railsapps$ ls
    app  test_application  testing
    passenger@rubyserve:~/railsapps$ rails -v
    Rails 3.2.2
    passenger@rubyserve:~/railsapps$ 
    passenger@rubyserve:~/railsapps$ 
    passenger@rubyserve:~/railsapps$ cd app/
   passenger@rubyserve:~/railsapps/app$ ls -a
   .   app     config.ru  doc      Gemfile.lock  lib  public    README.rdoc  test  vendor
   ..  config  db         Gemfile  .gitignore    log  Rakefile  script       tmp
    passenger@rubyserve:~/railsapps/app$ 
    passenger@rubyserve:~/railsapps/app$ 
    passenger@rubyserve:~/railsapps/app$ rails -v
    The program 'rails' is currently not installed.  To run 'rails' please ask your administrator to install the package 'rails'
    passenger@rubyserve:~/railsapps/app$ 

它使得bugger有意义。在我的rails文件夹之外,我可以调用rails来创建一个新的应用程序但是一旦进入,就不会检测到rails。包括捆绑包在内的所有宝石都是如此。

我的第一个想法是,不知何故,rails隐藏了一些特定的gem文件夹,所以我在rails项目中完成了我的gem安装,但是这也没有用。

有什么想法吗?


我的设置是ubuntu服务器10.10(我知道,我知道) Ruby 1.9.2 宝石1.8.17 我正在使用来自wayneeseguin的最新rvm。enter code here

1 个答案:

答案 0 :(得分:0)

这种类型的问题有时会发生,我想你可以通过installing and using RVM

节省大量时间

每次创建单独的项目时,每次安装RVM创建gemset目录。例如,您首先创建应用程序博客,然后使用此命令创建gemset目录

rvm gemset create blog

那么你应该使用这个gemset目录以及ruby版本,例如你已经安装了ruby 1.9.2然后使用这个命令

rvm use ruby-1.9.2@blog

之后进入博客应用程序目录并安装此gem

gem install bundler

然后再bundle install。因此所有本地gem都将被安装到rvm下的这个博客目录中,并且不会出现任何冲突。但是如果你的平台是ubuntu,请记住一件事,那么这将有效