- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
早上好!
我正在研究 ruby gem 。到目前为止,gem 还没有被推送到任何服务器——目前都是本地开发。
我想在构建 gem 时对其进行测试(使用 TTD)。我运行了 bundle exe rake build
和 bundle exe rake install
以在我的本地环境中构建和安装 gem。我现在希望当我在终端的任何地方键入 gem_name
时,应该识别 gem_name
。不幸的是它不是;相反,我收到此错误:
`$ -bash gem_name: command not found`
我唯一能想到的可能是我的路径有问题。
这是我的 $PATH 的输出:
echo $PATH
/Users/throw/.rvm/gems/ruby-2.2.1/bin:
/Users/throw/.rvm/gems/ruby-2.2.1@global/bin:
/Users/throw/.rvm/rubies/ruby-2.2.1/bin:
/usr/local:/usr/local/bin:
/usr/local/sbin:/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
/usr/local/git/bin:/Users/throw/.rvm/bin:/Users/throw/.nvm/nvm.sh:
/Users/throw/.node/bin:/Applications/Postgres.app/Contents/9.5.0.0/latest/bin
下面是命令 gem env
的输出:
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.5.1
- RUBY VERSION: 2.2.1 (2015-02-26 patchlevel 85) [x86_64-darwin14]
- INSTALLATION DIRECTORY: /Users/throw/.rvm/gems/ruby-2.2.1
- USER INSTALLATION DIRECTORY: /Users/throw/.gem/ruby/2.2.0
- RUBY EXECUTABLE: /Users/throw/.rvm/rubies/ruby-2.2.1/bin/ruby
- EXECUTABLE DIRECTORY: /Users/throw/.rvm/gems/ruby-2.2.1/bin
- SPEC CACHE DIRECTORY: /Users/throw/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/throw/.rvm/rubies/ruby-2.2.1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-14
- GEM PATHS:
- /Users/throw/.rvm/gems/ruby-2.2.1
- /Users/throw/.rvm/gems/ruby-2.2.1@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/throw/.rvm/gems/ruby-2.2.1/bin
- /Users/throw/.rvm/gems/ruby-2.2.1@global/bin
- /Users/throw/.rvm/rubies/ruby-2.2.1/bin
- /usr/local
- /usr/local/bin
- /usr/local/sbin
- /usr/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/git/bin
- /Users/throw/.rvm/bin
- /Users/throw/.nvm/nvm.sh
- /Users/throw/.node/bin
- /Applications/Postgres.app/Contents/9.5.0.0/latest/bin
到目前为止,我认为 gem_name
路径包含在我的 $PATH
中,但我不知道……我是否遗漏了什么?
gem_name.gemspec
的内容如下:
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'instructortools/version'
Gem::Specification.new do |spec|
spec.name = "instructortools"
spec.version = Instructortools::VERSION
spec.authors = ["Throw"]
spec.email = ["throw@gmail.com"]
spec.summary = %q{The command line interface instructor tools}
spec.homepage = "https://github.com/throw/instructortools-gem"
spec.license = "MIT"
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
# delete this section to allow pushing this gem to any host.
if spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.11"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "rspec", "~> 3.0"
spec.add_development_dependency "pry"
spec.add_runtime_dependency "thor"
end
我有一个包含以下行的 exe 目录:
#!/usr/bin/env ruby
require "instructortools"
Instructortools::CLI.start(ARGV)
谢谢!
最佳答案
你应该像这样在 gemspec 中提到你的可执行文件:
spec.bindir "exe"
spec.executables ["your_script_name"]
因此,在安装 rubygems 时,将其复制到 $PATH
上的 /Users/throw/.rvm/gems/ruby-2.2.1/bin
编辑:您的 gemspec 从 git ls-files
获取文件列表,因此所有文件都应在 gem 构建之前提交以包含在 gem 中。
关于ruby - 了解 $PATH 变量 : Installed gems are not in path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858901/
我开始在 Ethereum blockchain 上了解如何开发智能合约以及如何写 web-script用于与智能合约交互(购买、销售、统计......)我得出了该怎么做的结论。我想知道我是否正确理解
我正在 UIView 中使用 CATransform3DMakeRotation,并且我正在尝试进行 45º,变换就像向后放置一样: 这是我拥有的“代码”,但显然没有这样做。 CATransform3
我目前正在测试 WebRTC 的功能,但我有一些脑逻辑问题。 WebRTC 究竟是什么? 我只读了“STUN”、“P2P”和其他...但是在技术方面什么是正确的 WebRTC(见下一个) 我需要什么
我在看 DelayedInit在 Scala in Depth ... 注释是我对代码的理解。 下面的 trait 接受一个非严格计算的参数(由于 => ),并返回 Unit .它的行为类似于构造函数
谁能给我指出一个用图片和简单的代码片段解释 WCF 的资源。我厌倦了谷歌搜索并在所有搜索结果中找到相同的“ABC”文章。 最佳答案 WCF 是一项非常复杂的技术,在我看来,它的文档记录非常少。启动和运
我期待以下 GetArgs.hs打印出传递给它的参数。 import System.Environment main = do args main 3 4 3 :39:1: Coul
private int vbo; private int ibo; vbo = glGenBuffers(); ibo = glGenBuffers(); glBindBuffer(GL_ARRAY_
我正在尝试一个 for 循环。我添加了一个 if 语句以在循环达到 30 时停止循环。 我见过i <= 10将运行 11 次,因为循环在达到 10 次时仍会运行。 如果有设置 i 的 if 语句,为什
我正在尝试了解 WSGI 的功能并需要一些帮助。 到目前为止,我知道它是一种服务器和应用程序之间的中间件,用于将不同的应用程序框架(位于服务器端)与应用程序连接,前提是相关框架具有 WSGI 适配器。
我是 Javascript 的新手,我正在尝试绕过 while 循环。我了解它们的目的,我想我了解它们的工作原理,但我在使用它们时遇到了麻烦。 我希望 while 值自身重复,直到两个随机数相互匹配。
我刚刚偶然发现Fabric并且文档并没有真正说明它是如何工作的。 我有根据的猜测是您需要在客户端和服务器端都安装它。 Python 代码存储在客户端,并在命令运行时通过 Fabric 的有线协议(pr
我想了解 ConditionalWeakTable .和有什么区别 class ClassA { static readonly ConditionalWeakTable OtherClass
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
我还没有成功找到任何可以引导我理解 UIPickerView 和 UIPickerView 模型的好例子。有什么建议吗? 最佳答案 为什么不使用默认的 Apple 文档示例?这是来自苹果文档的名为 U
我在看foldM为了获得关于如何使用它的直觉。 foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a 在这个简单的例子中,我只返回 [Just
答案What are _mm_prefetch() locality hints?详细说明提示的含义。 我的问题是:我想要哪一个? 我正在处理一个被重复调用数十亿次的函数,其中包含一些 int 参数。
我一直在读这个article了解 gcroot 模板。我明白 gcroot provides handles into the garbage collected heap 然后 the handle
提供了一个用例: 流处理架构;事件进入 Kafka,然后由带有 MongoDB 接收器的作业进行处理。 数据库名称:myWebsite集合:用户 并且作业接收 users 集合中的 user 记录。
你好 我想更详细地了解 NFS 文件系统。我偶然发现了《NFS 图解》这本书,不幸的是它只能作为谷歌图书提供,所以有些页面丢失了。有人可能有另一个很好的资源,这将是在较低级别上了解 NFS 的良好开始
我无法理解这个问题,哪个更随机? rand() 或: rand() * rand() 我发现这是一个真正的脑筋急转弯,你能帮我吗? 编辑: 凭直觉,我知道数学答案是它们同样随机,但我忍不住认为,如果您
我是一名优秀的程序员,十分优秀!