这里有一个烦人的问题。 我$PATH如下:
/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/bin:
/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353@global/bin:
/Users/sherwyn/.rvm/rubies/ruby-2.0.0-p353/bin:
/Users/sherwyn/.rvm/bin:/usr/bin:/bin:
/usr/sbin:/sbin:
/usr/local/bin:/opt/X11/bin:
/Users/sherwyn/.rvm/bin:
运行which ruby
给了我这个:
/Users/sherwyn/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
当我运行$PATH时,我收到错误no such file or directory
。
rvm list
结果没有错误
我也无法运行rails -v
,因为它给了我错误:
ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead.
不知道该尝试什么,非常感谢任何帮助
编辑
我认为我的系统出于某种奇怪的原因运行 rails 版本 0.9.5。
/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/gems/rails-0.9.5/Rakefile:3:in `<top (required)>'
/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
我一直在使用 rails 4.0.2,不确定这里发生了什么......
编辑
-bash: cd: /Users/sherwyn/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/bin: No such file or directory
我卸载了旧版本的导轨
gem uninstall rails '0.9.5'
这允许我做rails -v
并使用 4.0.2。
当我说"运行$PATH"时,我的意思是我在控制台中键入"$PATH"。
编辑
vendor/bundle/ruby/2.0.0/gems/daemons-1.1.9/Rakefile:require 'rake/rdoctask'
vendor/bundle/ruby/2.0.0/gems/formatador-0.2.4/Rakefile:require 'rake/rdoctask'
vendor/bundle/ruby/2.0.0/gems/mailcatcher-0.2.4/Rakefile:require 'rake/rdoctask'
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/doc/release_notes/rake-10.0.0.rdoc:* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/doc/release_notes/rake-10.0.1.rdoc:* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/doc/release_notes/rake-10.0.2.rdoc:* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/doc/release_notes/rake-10.0.3.rdoc:* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rdoctask.rb:fail "ERROR: 'rake/rdoctask' is obsolete and no longer supported. " +
vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/Rakefile: 'lib/rake/rdoctask.rb',
vendor/bundle/ruby/2.0.0/gems/rdoc-4.1.1/History.rdoc: * Added rdoc/task.rb containing a replacement for rake/rdoctask.rb. Use
vendor/bundle/ruby/2.0.0/gems/tzinfo-0.3.38/Rakefile:require 'rake/rdoctask'
注意所有使用该rdoctask
的宝石,可能需要更新。您可以在其中制作舒尔,方法是进入 rails 项目文件夹,然后发出grep rdoctask * -r
.
如果您的某些 gem 使用vendor/bundle/
文件夹,您应将其移动到 [标签;bundler],因为自 Ruby-on-Rails-4 以来,插件不推荐使用文件夹vendor/
,并且只有在使用非开源或易于安装的 Gem(例如具有封闭属性的 Gem)或特定于应用程序的 gem 的情况下才能用于 gem。
使用 rvm/rbenv 环境使 gemset 保持最新状态,并远离项目。因为拆分各种 rails 应用程序的保留区域很有用,因此您将避免遇到类似的问题,从而接近使用 heroku 环境或其他服务器的实际工作。
如果您发出bundle show rails
并且获得不通向/usr/local
的路径,则意味着您使用了捆绑器版本的 rails,该版本正确加载了您的应用程序bundle exec
.因此,通过bundle exec
您使用了非系统红宝石,则可以避免问题。我建议在路径变量中的系统之前放置 rvm路径。
当您使用 rvm/rbenv don 使用 sudo 操作时,如果您已经这样做了,请设置对文件夹的适当权限:
sudo chown -R sherwyn /Users/sherwyn/.rvm
为您使用的每个 rails 应用程序正确设置 .ruby-version 和.ruby-gemset:
echo ruby-2.0.0 > .ruby-version
echo itagora > .ruby-gemset
然后重新输入到应用文件夹:
cd ..
cd app_folder
查看有关 heroku 工具带安装的通知答案。