【发布时间】:2015-03-20 04:54:27
【问题描述】:
如果您在 Rails 项目的本地 bin 目录中有简单的 shell 命令 binstub(例如,不是由 gem 生成或运行 gem),rbenv 似乎无法执行它们。比如@tpope的heroku binstubs在本地bin目录下生成一个名为production的binstub:
#!/bin/sh
HEROKU_APP=myapp-production HKAPP=myapp-production exec "${HEROKU_COMMAND:-heroku}" "$@"
在 rbenv rehash 之后,生产命令显示在 ~/.rbenv/shims 目录中,如下所示:
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
program="${0##*/}"
if [ "$program" = "ruby" ]; then
for arg; do
case "$arg" in
-e* | -- ) break ;;
*/* )
if [ -f "$arg" ]; then
export RBENV_DIR="${arg%/*}"
break
fi
;;
esac
done
fi
export RBENV_ROOT="/Users/Username/.rbenv"
exec "/usr/local/Cellar/rbenv/0.4.0/libexec/rbenv" exec "$program" "$@"
所以执行which production 会给你:
/Users/Username/.rbenv/shims/production
但是执行rbenv which production(或尝试运行命令)会给你:
rbenv: production: command not found
我是 rbenv 新手,所以我可能错过了配置步骤?
【问题讨论】:
标签: ruby-on-rails ruby zsh rbenv