0

这里有一个烦人的问题。我的 $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

no such file or directory运行 $PATH 时出现错误。

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

我卸载了旧版本的rails

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'
4

1 回答 1

1

注意所有使用 的 gem rdoctask,可能它们需要更新。您可以通过进入项目文件夹并发布grep rdoctask * -r.

如果您的某些 gem 使用该vendor/bundle/文件夹,则应将其移动到由 [tag;bundler] 控制,因为由于该文件夹vendor/已弃用插件,并且仅在以下情况下才可用于 gem,如果您使用非开源或易于安装的 gem,例如具有封闭属性或特定于应用程序的 gem。

使用 / 环境使 gemsets 保持最新,并远离项目。因为为各种应用程序划分保留区域很有用,所以您将避免遇到类似的问题,以近似使用环境或其他服务器的实际工作。

如果您发出bundle show rails并获得未通向该路径的路径/usr/local,则意味着您使用了可以正确加载应用程序的bundle exec版本的. 因此,bundle exec您使用了非系统红宝石,这样您就可以避免这些问题。我建议在变量中的系统之前放置

当您使用 / 不要使用操作,如果您已经这样做了,请设置文件夹的正确权限:

sudo chown -R sherwyn /Users/sherwyn/.rvm

为您使用的每个应用程序正确设置.ruby-version.ruby-gemset

echo ruby-2.0.0 > .ruby-version
echo itagora > .ruby-gemset

然后重新进入应用文件夹:

cd ..
cd app_folder

查看有关安装通知的答案。

于 2014-02-08T11:08:44.563 回答