尝试在 ubuntu 16.04 上安装 ruby gem 时权限被拒绝
Posted
技术标签:
【中文标题】尝试在 ubuntu 16.04 上安装 ruby gem 时权限被拒绝【英文标题】:Permission Denied while trying to install ruby gems on ubuntu 16.04 【发布时间】:2017-11-15 22:08:02 【问题描述】:我正在尝试在运行 Ubuntu 16.04 的计算机上安装 ruby gems。我将 bash 与 oh-my-zsh 框架一起使用。
当我运行命令时:
curl -L https://get.rvm.io | bash -s stable --ruby
我收到错误消息:
mktemp: failed to create file via template '/usr/share/rvm/rvm-exec-test.XXXXXX': Permission denied
如何设置权限才能正常工作?
【问题讨论】:
你确定路径是可写的吗?您可以使用 ls -la 来验证这一点。您也可以尝试在命令之前使用 sudo。 【参考方案1】:你可以使用:
curl -L https://get.rvm.io | sudo bash -s stable --ruby
注意:如果您不知道脚本实际在做什么,以 sudo 运行脚本可能会非常危险。确保检查脚本,并在可能的情况下为它需要访问的所需文件和/或文件夹授予适当的权限。有关为什么它可能是危险的更多信息,请参阅https://elementaryos.stackexchange.com/questions/448/why-is-running-commands-with-sudo-dangerous
您的特定用例的快速示例,如链接所示:
"...如果网站要求你 curl http://link/to/script | sudo bash,请不要这样做。下载脚本,快速查看,然后运行它。即使原来的作者无意使脚本成为恶意的,有人可能已经入侵了原作者的帐户并上传了一个新的“更新”脚本。您是您计算机完整性的责任人,因此您需要熟悉您的系统功能。 "
【讨论】:
您应该至少包含一些关于运行您尚未验证或检查的代码的风险的声明,如果您鼓励人们以 root 身份这样做,则更是如此! 很公平,我将其添加进去。话虽如此,rvm 很有名,而且这个脚本没有恶意。这是一个链接:raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/… 在 bash 之前添加“sudo”是进行多用户安装的指令(在 RVM 指令中)。要以单个用户身份安装,您必须使用:\curl -sSL get.rvm.io | bash -s stable ... 这行不通,因为 RVM 永远不会工作,直到你用谷歌搜索并与每个步骤战斗数小时。【参考方案2】:将目录设为可读写...cd dirname chmod 777
或
sudo gem install 'gem name','version'
【讨论】:
以上是关于尝试在 ubuntu 16.04 上安装 ruby gem 时权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu 16.04 i386 安装 ruby + bundler + rails ; 搭建简单的网站bitbar
在 ubuntu 16.04 上安装 mysql 服务器的问题