这是一个非常奇怪的,我不知道如何继续。
基本上,我可以安装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
答案 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,请记住一件事,那么这将有效