rbenv:权限被拒绝

2024-01-06

我正在关注 Ryan 的 RailsCast Episode 339。我已经安装了 rbenv 并且可以运行ruby -v。我退出了会话,当我尝试返回时(通过su deployer from root,我收到这个错误

/home/deployer/.rbenv/bin/rbenv: line 20: cd: /root: Permission denied

这里是rbenv file:

#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x

resolve_link() {
  $(type -p greadlink readlink | head -1) "$1"
}

abs_dirname() {
  local cwd="$(pwd)"
  local path="$1"

  while [ -n "$path" ]; do
    cd "${path%/*}"
    local name="${path##*/}"
    path="$(resolve_link "$name" || true)"
  done

  pwd
  cd "$cwd"
}

if [ -z "${RBENV_ROOT}" ]; then
  RBENV_ROOT="${HOME}/.rbenv"
else
  RBENV_ROOT="${RBENV_ROOT%/}"
fi
export RBENV_ROOT

if [ -z "${RBENV_DIR}" ]; then
  RBENV_DIR="$(pwd)"
else
  cd "$RBENV_DIR" 2>/dev/null || {
    echo "rbenv: cannot change working directory to \`$RBENV_DIR'"
    exit 1
  } >&2
  RBENV_DIR="$(pwd)"
  cd "$OLDPWD"
fi
export RBENV_DIR


shopt -s nullglob

bin_path="$(abs_dirname "$0")"
for plugin_bin in "${RBENV_ROOT}/plugins/"*/bin; do
  bin_path="${bin_path}:${plugin_bin}"
done
export PATH="${bin_path}:${PATH}"

hook_path="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks"
for plugin_hook in "${RBENV_ROOT}/plugins/"*/etc/rbenv.d; do
  hook_path="${hook_path}:${plugin_hook}"
done
export RBENV_HOOK_PATH="$hook_path"

shopt -u nullglob


command="$1"
case "$command" in
"" | "-h" | "--help" )
  echo -e "rbenv 0.3.0\n$(rbenv-help)" >&2
  ;;
* )
  command_path="$(command -v "rbenv-$command" || true)"
  if [ -z "$command_path" ]; then
    echo "rbenv: no such command \`$command'" >&2
    exit 1
  fi

  shift 1
  exec "$command_path" "$@"
  ;;
esac

20号线是cd "$cwd"

关于当我尝试返回会话时为什么会出现此错误的任何想法?


当您将用户切换到“deployer”时,您似乎位于 /root 中。尝试确保您位于“部署者”有权访问的目录中。

功劳归于 d11wtq

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rbenv:权限被拒绝 的相关文章

随机推荐

  • Ajax 调用以 Base64 字符串形式返回 PDF 文件

    我在 Angular JS 环境中使用 ajax 来调用本地文件 pdf 文件 调用成功 但是ajax调用返回的数据是乱码 不确定我这里使用的术语是否正确 但就像使用文本编辑器打开pdf文件一样 无论如何 我可以得到 base64 字符串的
  • 使用Retrofit 2.0和RxJava获取响应状态代码

    我正在尝试升级到 Retrofit 2 0 并在我的 android 项目中添加 RxJava 我正在进行 api 调用 并希望在服务器出现错误响应时检索错误代码 Observable
  • 初始化列表与初始化方法

    在 C 中至少有两种初始化类的方法 1 初始化列表 struct C int i C i 0 2 初始化方法 struct D int i C init void init i 0 我需要时不时地重新初始化我的类的对象 使用第二种解决方案
  • C:为什么 LLVM 从左到右计算 printf,而 GCC 从右到左计算?

    正如这个问题中所述 LLVM和GCC 不同输出相同的代码 https stackoverflow com questions 15929795 llvm and gcc different output same code LLVM 和 G
  • Android - 从另一个活动完成活动

    有什么办法 如何从堆栈中完成某些活动 我有服务 它会查找更新 当找到更新时 它会打开更新活动 其中会出现安装提示 但是安装出现后我想完成更新活动 因为没有必要仍然在堆栈上 Thanks 如果更新活动正在启动另一个安装活动 那么您可能需要覆盖
  • 反应式的“缓冲直到安静”行为?

    我的问题有点像内格尔算法 https en wikipedia org wiki Nagle 27s algorithm是为了解决问题而创建的 但不完全是为了解决问题 我想要的是缓冲OnNext通知来自IObservable
  • 创建具有相同键和值的对象,而不重复数据

    在ES6中 我们可以这样做 const key foo const myObj key myObj gt foo foo So key 相当于 key key 但是 我们怎样才能创建同一个对象而不需要key多变的 我想要有类似的东西 foo
  • 使用应用程序期间可达性连接丢失时弹出警报(IOS xcode swift)

    我是 IOS 应用程序开发的初学者 希望 在使用应用程序期间失去可达性连接时弹出警报 IOS xcode swift 但我只在启动我的应用程序时收到弹出警报 当互联网连接丢失时 使用我的应用程序时不会弹出警报 请各位好心人帮忙 谢谢 我做了
  • Spring Batch - 并非所有记录都通过 MQ 检索进行处理

    我对 Spring 和 Spring Batch 相当陌生 所以如果您有任何疑问 请随时提出任何澄清问题 我发现 Spring Batch 存在问题 无法在测试或本地环境中重新创建 我们的日常工作是通过 JMS 连接到 Websphere
  • Java - Checkstyle - 冗余抛出

    我正在使用 STS 并安装了 checkstyle 插件 使用安装新软件与此网址http eclipse cs sourceforge net update http eclipse cs sourceforge net update 我的
  • 事件监听器如何工作?

    他们是否反复检查条件并在满足条件时执行 例如 操作系统如何准确知道 USB 设备何时插入 或者 MSN 如何准确知道您何时收到电子邮件 这是如何运作的 Thanks 在底层 操作系统内核 知道 何时发生某些事情 因为相关设备向 CPU 发送
  • 不处理从这里抛出的 Swift 错误

    我的代码在 Xcode 6 中工作 但自从我使用 Xcode 7 以来 我不知道如何解决这个问题 let jsonresult 行有一个错误 指出未处理从此处抛出的错误 代码如下 func connectionDidFinishLoadin
  • Hibernate / SQLException:字段没有默认值

    使用以下命令生成 mySQL 表 CREATE TABLE actors actorID INT 11 NOT NULL actorName VARCHAR 255 NOT NULL PRIMARY KEY AUTO INCREMENT a
  • 类型错误:$.datepicker 未定义

    我的 javascript 有代码 适用于我网站上的其中一个页面 nmdt1 datetimepicker dateFormat datepicker ATOM minDate nmsdt 当加载 id nmdt1 的页面时 这运行正常 我
  • 自定义键盘中handleInputModeList的正确实现

    iOS 10 中添加了一个新的 API 用于显示用户可以切换到的其他键盘列表 与用户在系统键盘上长按地球仪时出现的列表相同 函数的声明如下 func handleInputModeList from view UIView with eve
  • 如何在 Python 中将折叠标量转储到 YAML(使用 ruamel?)

    我一直在 stackoverflow 上搜索 寻找一种使用 Python 以 YAML 格式转储折叠标量的方法 普通的answer https stackoverflow com a 35406862 3615411来自用户Anthon h
  • 无法远程启动WebLogic进行调试

    我使用以下选项设置远程 WebLogic 服务器进行调试 Xdebug Xnoagent Xrunjdwp transport dt socket address DEBUG PORT server y suspend n Djava co
  • SVN 到 GitHub 迁移

    我必须将多个目录从 SVN trunk 迁移到one单个 GitHub 存储库 我可以使用以下命令一次克隆单个目录 git svn clone https svn repo url 如何使用 svn trunk 中的单个命令克隆多个目录 进
  • 错误:无法找到类 R.java 没有这样的文件或目录

    当我尝试开始一个新项目时 我不断收到此消息 ERROR Unable to open class file C Users Levi Desktop Android workspace Droid1 gen com androidbook
  • rbenv:权限被拒绝

    我正在关注 Ryan 的 RailsCast Episode 339 我已经安装了 rbenv 并且可以运行ruby v 我退出了会话 当我尝试返回时 通过su deployer from root 我收到这个错误 home deploye