Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2912

rails -v を行った際の Permission denied

$
0
0

macos
自分用のメモです

/usr/local/bin/rbenv-communal-gem-home を確認

mkdir: /usr/local/bin/../version_cache: Permission denied
/usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.6.3: No such file or directory

となっていたので、rbenv-communal-gem-home をエディタに表示して確認してみる

$ open /usr/local/bin
# usr/local/binディレクトリをオープン
rbenv-communal-gem-home.
if [ "$1" = "--complete" ]; then
  exec rbenv-versions --bare
fi

rbenv_version="${1:-$(rbenv-version-name)}"
if [ -L "$RBENV_ROOT/versions/$rbenv_version/lib/ruby/gems" ]; then
  cachedir="${BASH_SOURCE%/*}/../version_cache"
  cachefile="$cachedir/$rbenv_version"
  if [ -f "$cachefile" ]; then
    communal_version="$(cat $cachefile)"
  else
    mkdir -p "$cachedir"
    communal_version="$("$RBENV_ROOT/versions/$rbenv_version/bin/ruby" -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]')"
    echo "$communal_version" > "$cachefile"
  fi

  echo "$RBENV_ROOT/gems/$communal_version"
else
  exit 1
fi

こうなってた。すなわち

mkdir: /usr/local/bin/../version_cache: Permission denied

は、 mkdir -p "$cachedir" でディレクトリ作りたいけど、このgemにはその権限がない。だと思う。

/usr/local/bin/../version_cache/2.6.3: No such file or directory

は、 echo "$communal_version" > "$cachefile" の際に cachefileが存在しないために出てきたエラーだと思う。(cachedirが存在しない、作成できなかったため)

cachefileのパスに含まれているcachedirを有効にする

# cachedir="${BASH_SOURCE%/*}/../version_cache" を消して
cachedir="${BASH_SOURCE%/*}/../Cellar/rbenv-communal-gems/1.0.1_1/version_cache"

Viewing all articles
Browse latest Browse all 2912

Trending Articles