Rails gem 权限被拒绝@ rb_sysopen
Posted
技术标签:
【中文标题】Rails gem 权限被拒绝@ rb_sysopen【英文标题】:Rails gem Permission denied @ rb_sysopen 【发布时间】:2018-09-10 01:08:01 【问题描述】:有 gem country-state-select,我必须分叉,因为 gem 没有维护并且需要一些自定义更改。进行了更改并推送了代码。
比在 gem 文件中使用的要多
gem "country_state_select", "~> 3.1", :github => 'Faisal-nfl/Country-State-Select', :branch => 'faisal-dev'
country-state-select gem 的数据由city-state gem 填充。
在本地机器上一切正常,但是当部署在服务器上时出现错误
权限被拒绝@rb_sysopen - /var/deploy/kids/web_head/shared/bundle/ruby/2.3.0/gems/city-state-0.0.13/lib/db/states.us
从issues 看来,这似乎是一个常见问题
但没有看到任何合适的解决方案。 如何解决这个问题。
【问题讨论】:
也许您需要授予该文件夹权限。使用 sudo chmod 777 * 这可能有效,但我必须在每次部署时都这样做。 【参考方案1】:你试过了吗?
sudo chown -R $(whoami) /var/deploy/kids/web_head/shared/bundle/ruby/2.3.0/gems/*
【讨论】:
【参考方案2】:我有同样的问题,这个解决方案对我有用:
$gem which city-state
-> /Users/macbook/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/city-state-0.0.13/lib/city-state.rb
$sudo chown -R $(whoami) /Users/macbook/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/*
【讨论】:
以上是关于Rails gem 权限被拒绝@ rb_sysopen的主要内容,如果未能解决你的问题,请参考以下文章
Errno::EACCES:通过 gitlab 安装 gem 时权限被拒绝
尝试在 ubuntu 16.04 上安装 ruby gem 时权限被拒绝