【发布时间】:2013-10-25 06:02:29
【问题描述】:
(免责声明:我对 RubyGems 很陌生。)我有一个 Sinatra 应用程序,其中有大量 require 关键字,所以我想将它们移动到 Gemfile 中。到目前为止,所有这些(DataMapper、Prawn 等)都可以正常工作,直到我遇到这个:
gem install sinatra-static-assets
它有这个错误消息:Permission denied - /Users/daryll/.rvm/gems/ruby-2.0.0-p247/gems/sinatra-static-assets-1.0.4/.gitignore。我也尝试过 bundler,但有同样的错误信息。
尝试通过sudo gem install 强制它(不知道这是否有效),但它似乎不起作用(我能够运行应用程序但我得到一个“undefined method stylesheet_link_tag”,这意味着宝石没有被看到吗?)。什么给了?
宝石文件
source 'https://rubygems.org'
gem "sinatra", "1.4.3"
gem "sinatra-static-assets", "~> 1.0.4"
gem "json", "~> 1.8.0"
gem "data_mapper", "~> 1.2.0"
gem "dm-sqlite-adapter", "~> 1.2.0"
gem "prawn", "~> 0.12.0"
gem "active_support", "~> 3.0.0"
Config.ru
require 'bundler'
Bundler.require
require './app'
run Sinatra::Application
【问题讨论】:
-
你能成功运行
gem install sinatra吗? -
@Davidann 是的。我尝试再次运行
bundle install,同样的错误消息。 @AaronGray我的机器上有RVM,你到底是什么意思? (顺便说一句,我通过rackup启动我的应用程序)。 -
@AaronGray 谢谢,我可以使用第三个链接安装 gem。但是我仍然在我的 Sinatra 应用程序中收到
undefined method stylesheet_link_tag。知道为什么吗? (也许我可以在睡觉时更好地调试它。) -
使用 RVM 时不要使用
sudo。即使对于多用户安装,在初始 RVM 安装后也不会使用sudo。一般来说,相信 RVM 网站上的建议胜过任何/所有其他网站,因为他们编写了它并且比任何人都知道它是如何工作的。我强烈建议您通读他们的整个installation page,然后阅读他们的troubleshooting page,因为听起来您的配置有问题。
标签: ruby rubygems gem sinatra bundler