$PATH RVM和Ruby的问题



这里有一个烦人的问题。 我$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 工具带安装的通知答案。

最新更新