捆绑错误仅在 sudo 中丢失文件

bundle error missing file only in sudo

我不明白以下错误:

如果我在我的 rails 应用程序文件夹上运行 sudo bundle,它运行良好。但是,如果没有 sudo,我会被拒绝许可:

/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /usr/local/rvm/gems/ruby-2.0.0-p353/extensions/x86-linux/2.0.0/bcrypt-3.1.9 (Errno::EACCES)
   from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:245:in `fu_mkdir'
   ....

好的,但我检查了上述文件夹 [...]/x86-linux/2.0.0/,文件夹 /bcrypt-3.1.9 根本不存在! (不过我确实有一个文件夹 bcrypt-ruby-3.1.2

怎么了?我该如何解决这个问题

失败的命令是 mkdir,它正在尝试创建 该目录。所以这就是目录不存在的原因。

如果您使用的是linux或osx,您可以使用chmod命令更改该目录的权限,例如

chmod -R 755 /usr/local/rvm/gems/ruby-2.0.0-p353/extensions/x86-linux/2.0.0

不幸的是,这里有太多潜在的东西要列出,这会导致文件系统权限错误,就像您遇到的那样。如果您仍然无法修复它,我建议您发布 ls -l /usr/local/rvm/gems/ruby-2.0.0-p353/extensions/x86-linux/2.0.0 的输出。