安装自定义gem时,我只遇到一个错误:File not found: lib ERROR: While generating documentation
安装继续并说gem installed successfully
。但是,当我require 'boxes'
得到LoadError: no such file to load -- boxes
时,当我查看gem目录时,我注意到已安装的gem中没有lib/
文件夹。我不确定这是为什么或如何调试它。有什么指针吗?下面是我的gemspec文件。
# -*- encoding: utf-8 -*-
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'boxes/version'
Gem::Specification.new do |gem|
gem.authors = ["Name"]
gem.email = ["http://somedomain.com"]
gem.description = %q{Boxes, a Sass framework}
gem.summary = %q{Boxes is a modular Sass-based framework that is heavily configurable, extremely modular and works as a Sass and a CSS Framework}
gem.homepage = "http://somedomain.com"
gem.files = `git ls-files`.split($\)
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
gem.name = "boxes"
gem.require_paths = ["lib"]
gem.version = Boxes::VERSION
gem.license = "MIT"
gem.add_dependency "sass", [">= 3.2.0"]
gem.add_development_dependency "rake"
end
我是红宝石的新手,我只是在这里制作我的第一颗宝石,所以请耐心等待。
答案 0 :(得分:1)
我注意到的一件事是在第1行,你将“lib”定义为“../lib”,尽管在gem.require_paths
中“lib”在当前目录中。这是真的吗?
要寻找的另一件事是lib不在.gitignore中,因为您使用git ls-files
来定义gem.files
在您的gemfile中注意到您使用的是ruby 1.8.7,请确保在需要宝石之前需要'rubygems'