-bash搞砸了?

-bash搞砸了?,bash,Bash,试图找出为什么我不能建立Heroku Gem并遵循这个答案。我想我可能把我的系统搞砸了 现在我输入heroku list,我得到(-bash:heroku:command-not-found),当我输入ruby-v时,我得到(-bash:ruby:command-not-found) 以下是最新的输出 zak$ export PATH=$PATHEXECUTABLE DIRECTORY: /Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin

试图找出为什么我不能建立Heroku Gem并遵循这个答案。我想我可能把我的系统搞砸了

现在我输入heroku list,我得到(-bash:heroku:command-not-found),当我输入ruby-v时,我得到(-bash:ruby:command-not-found)

以下是最新的输出

zak$ export PATH=$PATHEXECUTABLE DIRECTORY: /Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin
-bash: export: `DIRECTORY:': not a valid identifier
-bash: export: `/Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin': not a valid identifier

ZKidds-MacBook-Pro:rails_projects zak$ export PATH=$PATH:/Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin

ZKidds-MacBook-Pro:rails_projects zak$ heroku list
-bash: heroku: command not found

ZKidds-MacBook-Pro:rails_projects zak$ cd ..

ZKidds-MacBook-Pro:~ zak$ export PATH=$PATH:/Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin

ZKidds-MacBook-Pro:~ zak$ heroku list
-bash: heroku: command not found

ZKidds-MacBook-Pro:~ zak$ echo $PATH
:/Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin:/Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin
-bash: GEM: command not found

ZKidds-MacBook-Pro:~ zak$ gem env
-bash: gem: command not found

ZKidds-MacBook-Pro:~ zak$ heroko list
-bash: heroko: command not found

将PATH仅设置为一个值时,将丢失所有其他要搜索的位置,例如
/bin
/usr/bin
。以增量方式设置路径:

export PATH=/new/place/bin:$PATH
你可以做得更详细一些,但基本的技巧是有效的

同时,注销并再次登录-这将使您最容易地去。或者:

export PATH=$PATH:/bin:/usr/bin

此外,您的第一行是:

export PATH=$PATHEXECUTABLE DIRECTORY: /Users/zak/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/bin
当您运行
export
时,它将导出一个或多个变量,但值必须是简单的变量名,或者必须是变量分配:

export SOMEVAR NOTHERVAR=new-value ...
投诉
-bash:export:
目录:':无效标识符'告诉您“目录:'无效”。不清楚你在想什么。你也收到了关于/Users/zak/…的类似投诉。。。不是标识符

您可以仅为一次命令运行设置环境变量:

PATH=$EXECUTABLE_DIRECTORY:$PATH /Users/zak/bin/command
命令的环境将包括给定路径的值;但是请注意,shell不会搜索具有该修改路径的命令


…我想做的是

我不是Ruby或Rails的用户,但在我的Mac(10.6.4)上,我可以找到:

Osiris-2 JL:  ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
Osiris-2 JL: rails -v
Rails 2.3.5
Osiris-2 JL: which ruby rails
/usr/bin/ruby
/usr/bin/rails
Osiris-2 JL: 
因此,在我的机器上,Ruby和Rails都在
/usr/bin
中。我没有安装Heroku AFAIK(无论如何,我的路径上没有)。你的第一条出口之路遭到重创;第二个将Ruby 1.9.2目录添加到空路径。显然,Heroku安装在其他地方,或者根本没有安装。您更改了目录-一个不需要工作路径的内置操作;您再次将Ruby 1.9.2目录添加到您的路径中(这没有改变任何有用的内容)。赫罗库仍然没有找到。您回显了路径(另一个内置)-我不清楚
GEM:command not found
消息来自何处。未找到命令
gem
heroko
(sic)。因此,您的第一个命令将解决问题

然后你评论道:

就我试图做的事情而言,我只是试图设置我的heroku帐户,当我试图添加我的公共ssh密钥时,我被卡住了。我安装(以为)的heroko gem没有注册。当我通读上面提到的stackoverflow问题时,发现我的路径不正确。我关闭了航站楼,重新开放。运行ruby-v输出之类的东西,但运行rails-v则不然。还有什么事要做吗?为什么rails-v不能输出

特别是在rails上-v I get“/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:827:in
report\u activate\u error”:找不到RubyGem rails(>=0)(Gem::LoadError)from/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:261:in
activate'from/System/Library/Frameworks/Ruby.framework/Versions/1.8/rubygems.rb:68:in'gem'from/usr/bin/rails:18“

这表明您已经在/usr/bin中安装了rails(和我一样),但是安装已经被修改了,所以它是自相矛盾的。要么是这一点,要么是混乱的环境(路径)造成了麻烦。但通常情况下,软件可以找到自己的零碎部分,因此它表明有问题。问题的一部分可能是您正在使用Ruby1.9.2程序和一些Ruby1.8软件

我的个人政策是严格不使用o/s提供的软件;我让Mac更新来解决这个问题。如果我想要自己版本的东西,我就在自己的控制下构建并安装它——我使用Perl,有时使用GCC,使用Git、SVN、Mercurial或其他类似软件来实现


我希望确保Ruby 1.9.2环境能够充分工作,并担心是否需要并行更新Rails环境。我怀疑使用Ruby 1.9.2和为Ruby 1.8.x构建的Rails会带来一些麻烦,但我不确定这一点。

事实上,我认为您误解了您正在阅读的文档。 当您读取“$PATHEXECUTABLE DIRECTORY”时,它是一个占位符,将被要添加的内容的实际路径所取代。
要正确操作,请按照Jonathan Leffler所说的操作。

启动一个新shell,不要运行第一个命令-它会破坏您的
路径
环境变量。Jonathan-谢谢您提供的信息。就我试图做的事情而言,我只是试图设置我的heroku帐户,当我试图添加我的公共ssh密钥时,我被卡住了。我安装(以为)的heroko gem没有注册。当我通读上面提到的stackoverflow问题时,发现我的路径不正确。我关闭了航站楼,重新开放。运行ruby-v输出之类的东西,但运行rails-v则不然。还有什么事要做吗?为什么rails-v不能输出?特别是在rails-v上,我得到“/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:827:in
report\u activate\u error”:找不到RubyGem-rails(>=0)(Gem::LoadError)from/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:261:in
activate'from/System/Library/Frameworks/Ruby.framework/Versions/1.8/rubygems.rb:68:in'gem'from/usr/bin/rails:18“