【发布时间】:2014-11-01 13:21:37
【问题描述】:
我正在阅读 rails 教程 atm。 (我是初学者,请多多包涵。)
如下所示,当我尝试使用 'bundle install' 安装 rubygems 时,我收到错误消息,提示我需要确保 'gem install json -v '1.8.1' 成功,然后再试一次.
但是当我尝试 sudo gem install json -v '1.8.1' 时,我得到了
。
如果我问的是一个愚蠢的问题,或者我遗漏了任何必要的信息,请告诉我。我是新手——CodeAcademy 和 RailsForZombies 是我的知识范围。
ben@ben-X551CA ~/first_rails_project/bens_first_app $ 捆绑安装 从 https://rubygems.org/ 获取 gem 元数据...... 解决依赖关系... 使用 rake 10.3.2 使用 i18n 0.6.11 使用 minitest 4.7.5 使用 multi_json 1.10.1 使用 thread_safe 0.3.4 使用 tzinfo 0.3.41 使用活动支持 4.0.8 使用构建器 3.1.4 使用 erubis 2.7.0 使用机架 1.5.2 使用机架测试 0.6.2 使用动作包 4.0.8 使用 mime 类型 1.25.1 使用多语言 0.3.5 使用树顶 1.4.15 使用邮件 2.5.4 使用 actionmailer 4.0.8 使用 activemodel 4.0.8 使用 activerecord-deprecated_finders 1.0.3 使用 arel 4.0.2 使用活动记录 4.0.8 使用捆绑器 1.7.2 使用咖啡脚本源 1.8.0 使用 execjs 2.2.1 使用咖啡脚本 2.3.0 使用雷神 0.19.1 使用 railties 4.0.8 使用咖啡轨 4.0.1 使用远足 1.2.3 使用 jbuilder 1.0.2 使用 jquery-rails 3.0.4您的用户帐户不允许安装到系统 Rubygems。 您可以取消此安装并运行:
bundle install --path vendor/bundle将 gem 安装到 ./vendor/bundle/,或者您可以输入密码 并使用 sudo 将捆绑的 gem 安装到 Rubygems。
密码:
Gem::Installer::ExtensionBuildError: ERROR: 未能构建 gem 原生扩展。
/usr/bin/ruby1.9.1 extconf.rb/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in
require': cannot load such file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' 来自 extconf.rb:1:in `'Gem 文件将继续安装在 /tmp/bundler20140908-2757-18q0kfn/json-1.8.1/gems/json-1.8.1 以供检查。 结果记录到 /tmp/bundler20140908-2757-18q0kfn/json-1.8.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out 安装 json (1.8.1) 时出错,Bundler 无法继续。 在捆绑之前确保
gem install json -v '1.8.1'成功。ben@ben-X551CA ~/first_rails_project/bens_first_app $ gem install json -v '1.8.1' 错误:执行 gem 时 ... (Gem::FilePermissionError) 您没有对 /var/lib/gems/1.9.1 目录的写入权限。 ben@ben-X551CA ~/first_rails_project/bens_first_app $ sudo gem install json -v '1.8.1' 构建原生扩展。这可能需要一段时间... 错误:安装 json 时出错: 错误:无法构建 gem 原生扩展。
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire'
来自 extconf.rb:1:in `'
Gem 文件将继续安装在 /var/lib/gems/1.9.1/gems/json-1.8.1 中以供检查。 结果记录到 /var/lib/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out ben@ben-X551CA ~/first_rails_project/bens_first_app $
【问题讨论】:
-
只是系统权限出错,换roor用户权限再试。
-
你的问题是
cannot load such file -- mkmf (LoadError),这里有很多关于这个错误的问题。您必须使用旧教程...您应该使用 RVM 而不是系统的内置 Ruby。放弃本教程并找到使用 RVM 的教程。
标签: ruby-on-rails json gem linux-mint