【问题标题】:$PATH issues with RVM and RubyRVM 和 Ruby 的 $PATH 问题
【发布时间】:2014-02-08 01:19:58
【问题描述】:

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

不确定要尝试什么,非常感谢任何帮助

编辑

我认为我的系统出于某种奇怪的原因正在运行 0.9.5 版的 rails。

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

【问题讨论】:

  • “运行 $PATH”是什么意思,echo $PATH
  • 重新开始,很简单。
  • 从什么开始?我没有改变任何关于路径的东西,问题是我的路径第一行中的文件夹不存在
  • $PATH 是一个环境变量,如果您只是键入它(也就是尝试运行它),则可能会出现关于无法在路径中找到 $PATH 的错误,而不是 echo "$PATH"显示它是什么。
  • 你在“cd: /Users/sherwyn/Users/sherwyn/.rvm/gems/ruby-2.0.0-p353/bin”中有一个额外的“/Users/sherwyn”

标签: ruby-on-rails ruby bash rvm gemset


【解决方案1】:

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

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

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

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

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

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

查看the answer 以了解有关 安装的通知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多