Rails 执行命令操作出现的问题

runup · 2014年04月22日 · 最后由 runup 回复于 2014年04月22日 · 1833 次阅读

我在执行一些命令的时候经常会出现如下的类似的问题: 比如,我要 bundle install 操作,在窗口中出现如下的语句, 程序 'bundle' 已包含在下列软件包中:

  • bundler
  • ruby-bundler 请尝试:apt-get install <选定的软件包>

不知道如何解决这个问题,以前偶尔也出现过这个问题,有时候重新开一个窗口就好了,但是这次很频繁,求解释?

环境变量问题 , 一定要确保 bundle 所在的位置在 $PATH 这个变量中 .

#1 楼 @song940 不理解,能具体给个参考么?

#1 楼 @song940 如何设定呢?linux 新手~

先找到 bundle 位置,

~$ which bundle
/usr/local/bin/bundle

然后

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc

或者

还有个办法 . ln -s /usr/local/bin/bundle /usr/bin/bundle

再或者 用 alias .

再再或者,你应该 Google 一下 , 了解下为什么会这样。

#4 楼 @song940 非常感谢,是否就是和 window 下面添加环境变量的意思。 这句话如何解释?

echo "export PATH=$PATH:/usr/local/bin" >> .bashrc

是这样 ..

bash 你知道的吧 ,就是用户的 Shell , 一般系统默认都是这个,.bashrcbash 这个命令的 用户配置文件 , bash 每次启动时会检测这个文件并执行里面的配置 .

再来说说 export PATH=$PATH:/usr/local/bin 其实这个就是说定义一个变量 , $PATH 这个变量存储一些文件目录 , 这些目录用 : 分开。你可以用 echo $PATH 看看 .每当你执行命令时,比如 vi , 他就会去 $PATH 这些目录中查找叫做 vi 的文件 . 找到就执行了 .. 找不到就提示你之前遇到的问题 .

现在你应该知道我们为什么要这么做了吧 , 就是在每次启动 bash 的时候提供这个路径让他去找 .

#6 楼 @song940 了解啦,感谢前辈,这一块是知识盲点,http://ruby-china.org/topics/4817 感谢指导!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号