相关疑难解决方法(0)

安装gem或更新RubyGems失败,出现权限错误

尝试安装gem(gem install mygem)或更新RubyGems(gem update --system)失败,出现此错误:

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决这个问题?

ruby macos rubygems

546
推荐指数
19
解决办法
46万
查看次数

您没有/var/lib/gems/2.3.0目录的写权限

我在我的ubuntu 16.04上安装了ruby.

$which ruby  

/usr/bin/ruby

$ruby -v 

ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]

$gem install bundler 

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

rubygems gem-bundler

89
推荐指数
7
解决办法
8万
查看次数

带有mysql2和rails3(bundler)的RuntimeError

我收到这个错误

`establish_connection': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) (RuntimeError)
  from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activerecord-
Run Code Online (Sandbox Code Playgroud)

是整个错误和我的配置和gemfile的转储.

mysql ruby-on-rails bundler

76
推荐指数
5
解决办法
6万
查看次数

Jekyll服务不起作用:看起来你没有安装pygments或其中一个依赖项

Configuration file: /Users/andrechristoga/Documents/type-theme/_config.yml
       Deprecation: You appear to have pagination turned on, but you haven't included the `jekyll-paginate` gem. Ensure you have `gems: [jekyll-paginate]` in your configuration file.
            Source: /Users/andrechristoga/Documents/type-theme
       Destination: /Users/andrechristoga/Documents/type-theme/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
  Dependency Error: Yikes! It looks like you don't have pygments or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- …
Run Code Online (Sandbox Code Playgroud)

pygments jekyll

39
推荐指数
1
解决办法
1万
查看次数

从github存储库全局安装ruby gem

我想全局安装ruby gem(sudo gem install capybara-webkit)但是我希望它从github存储库中的master安装.我知道这可以使用bundler完成,但我想从命令行完成,因为我主要使用pry进行编码.

ruby gem command-line github

33
推荐指数
1
解决办法
1万
查看次数

如何在没有sudo的情况下安装gem

在我所有的宝石安装上,我必须做sudo?所以

sudo gem install rails

只会工作

宝石安装导轨

不管用.我该如何解决这个问题?

我安装了rvm -

murtaza@murtaza-dev:~$ which rvm
/home/murtaza/.rvm/bin/rvm

murtaza@murtaza-dev:~$ which gem
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem
Run Code Online (Sandbox Code Playgroud)

但是,当我使用gem进行任何操作时,我也会收到此警告 -

murtaza@murtaza-dev:~$ gem
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
Run Code Online (Sandbox Code Playgroud)

编辑

我已经重新安装了rvm curl -L get.rvm.io | bash -s stable --auto(没有sudo).

但是,当我尝试安装gem时,它会给我以下错误 -

murtaza@murtaza-dev:~$ gem install rails
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /home/murtaza/.gem/specs
Run Code Online (Sandbox Code Playgroud)

编辑

我做了整件事,但仍然得到错误 -

murtaza@murtaza-dev:~$ sudo chown murtaza.murtaza -R ~/.rvm/* …
Run Code Online (Sandbox Code Playgroud)

ruby gem

27
推荐指数
4
解决办法
4万
查看次数

Rails没有使用我的全局Ruby版本

我想在Ruby 2.1.0中使用Rails,但它使用的是Ruby 1.9.3(系统版本).

我正在使用rbenv来管理我的Ruby版本.我的步骤是:

$ rbenv install 2.1.0
$ rbenv global 2.1.0
$ sudo gem install rails -v 4.0.2
$ rbenv rehash
$ rbenv versions
  system
* 2.1.0 (set by /home/dennis/.rbenv/version)
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
$ rails new app && cd app
$ rails server
Run Code Online (Sandbox Code Playgroud)

据Rails使用的是Ruby 1.9.3(x86_64-linux)localhost:3000/rails/info/properties.来自的一条日志消息rails server:INFO ruby 1.9.3 (2012-04-20) [x86_64-linux].

我认为Rails使用的是Ruby的系统版本,因为版本匹配.

$ rbenv local system
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rbenv ruby-on-rails-4

7
推荐指数
2
解决办法
7530
查看次数

本地和远程宝石有什么区别?

当我尝试安装mysql2 gem(使用"sudo gem install mysql2")时,我很惊讶没有找到我的"gem list"中列出的gem.

经过一些谷歌搜索后,我发现mysql2 gem已安装在我的远程gems中(使用"gem query --remote"或"gem search mysql2 -r"查找它们),而不是我使用"gem"将它们从远程安装到本地安装--remote mysql2".

现在mysql2列在我的gem列表中.

我很高兴我找到了解决方案,但是,我真的不明白为什么宝石首先安装在远程宝石中或者有什么区别.谷歌搜索没有得到很好的解释.

有人可以向我解释一下这个区别吗?

ruby gem ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
1390
查看次数

如何阻止sudo安装宝石.最终的解决方案

所以我已经阅读了关于如何阻止sudo安装宝石的每一篇文章,其中有100个不同的答案,其中一个还没有打成黄金.有人可以一劳永逸地提供最简单,最简洁的方式来编辑和更新您的bash配置文件以重写权限并停止sudo安装gem吗?

下面只是一个例子,向您展示我每次都得到的东西.在过去的几个星期里,我一直在做所有事情,我知道这是在为这个问题提供创可贴.

LMagnotti$ gem install nokogiri

ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /usr/local/lib/ruby/gems/2.3.0/gems/nokogiri-1.6.7.2/.autotest
Run Code Online (Sandbox Code Playgroud)

ruby bash rubygems rvm rbenv

0
推荐指数
1
解决办法
243
查看次数