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 时权限被拒绝

安装新gem时权限被拒绝

Rails - 扩展 Ruby Gem

Rails - IMGkit - Errno::EACCES 权限被拒绝错误

Rails:回形针上传时 AWS S3 访问被拒绝错误