【问题标题】:Installing bundler gives me "you don't have write permissions" error安装捆绑程序给我“你没有写权限”错误
【发布时间】:2016-10-25 23:09:35
【问题描述】:

我使用 ruby​​ 版本管理器 (rvm) 安装了新版本的 ruby​​。运行命令rvm rubies显示所有已安装的红宝石版本。清单如下。

rvm rubies

   ruby-1.9.3-p551 [ x86_64 ]
   ruby-2.1.5 [ x86_64 ]
   ruby-2.2.4 [ x86_64 ]
 * ruby-2.3.0 [ x86_64 ]
   ruby-2.3.1 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

我尝试运行命令bundle exec rake rb:mgirate,但出现以下错误。

/usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'bundler' (>= 0.a) among 5 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=:/nix/.nix-profile/lib/ruby/gems', execute `gem env` for more information

错误表明未安装捆绑程序。我运行了命令 gem install bundle 并收到以下错误。

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /nix/.nix-profile/lib/ruby/gems directory.

它说我没有写权限。我用谷歌搜索了这个错误,它与更新 ruby​​ 和 ruby​​ 版本有关。我更新到新的 ruby​​ 版本的原因是 heroku run rake db:seed 没有在生产中播种数据。我虽然这可能是由于兼容性问题。因此,我决定更新到新版本的 ruby​​。服务器、postgresql 和其他一切工作正常。我无法运行 bundle,因为我无法安装 gem。任何 hep 将不胜感激。谢谢!

【问题讨论】:

  • 尝试运行sudo chown -R `whoami` /nix/.nix-profile/lib/ruby/gems
  • @mudasobwa,我能够修复它。我必须为用户指定哪个版本。我只是运行 rvm use 2.3.0 ,它既是当前版本又是默认版本。它解决了问题
  • @mudasobwa,我尝试打开 rails db 并收到此错误。在总共 5 个 gem (Gem::LoadError) 中找不到 'railties' (>= 0.a)。我认为问题可能仍然存在。
  • 你在bundle install那里跑了吗?
  • @mudasobwa,不,我没有。我切换到了不同的 ruby​​ 版本,因此我的 gem 依赖项也被切换了。一旦我重新启动我的工作区,它就修复了所有问题。

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

问题已通过运行命令 rvm user 2.3.0 切换到 ruby​​ 版本 2.3.0 得到解决。完成后,您应该重新启动工作区。错误的原因是当您切换 ruby​​ 版本时,它也会更改 gem 文件。因此,它无法识别宝石。

【讨论】:

  • 只是想记下我认为这仍然是相关的。我在 2.4.2 版中遇到了同样的写入错误。我卸载了它并安装了 2.3.3。在那之后我能够安装我所有的宝石。这是我第一次使用 Ruby,需要看看环境的其余部分是否正常工作。
【解决方案2】:

嘿,只需在命令开头添加“sudo”即可。它肯定会起作用,因为错误表明您没有写权限。如果您检查该目录的权限,您会发现只有所有者具有写权限,并且 sudo 将我们从用户模式带到所有者模式。因此,您将不会再次收到此错误。如果它不起作用,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多