我对ruby和gem制作都非常陌生。我制作了一个简单的gem,它根据输入来抓取一些信息。但是,要使用我的gem,我需要进入解释器(irb)并需要我的gem,然后使用一些参数调用该方法。假设gem名为foo。假设该方法称为print_website(x)#其中x是一个字符串。我希望能够做这样的事情:$footest.com它应该会自动调用该方法并执行它。提前致谢!如果我不清楚,请问我澄清!:D 最佳答案 尝试一下$mkdirbin$touchbin/foo$chmoda+xbin/foo编辑bin/foo#!/usr/bin/envr
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestionhttp://rubygems.org是否有可用的公共(public)镜像??它现在对我不起作用,http://isup.me/rubygems.org说它也不起作用。
我在Windows7上使用Ruby2.1和Rails4.1。每当我运行bundleinstall时,所有gem都安装在系统路径c:/Ruby21/lib/ruby/gems/2.1.0/gem/。我还在我的项目中找到了vendor目录。来自PHPcomposer和node.jsnpm后台,所有的依赖都应该本地安装在项目的vendor文件夹或者node_modules文件夹中。所以,我的问题是:我应该在系统路径或vendor/bundle中安装gems?如果所有gem或部分gem应该安装在系统路径中,它会如何影响我可能无法访问shell的生产环境?应该将所有gem还是特定gem安装在ve
据我所知,rails:freeze:gems和rakegems:unpack都将gem放置到/vendor。rails:freeze:gems放在/vendor/rails,gems:unpack放在/vendor/gems。然而,对我来说,这一点似乎是一样的。在这两种情况下,目标都是在开发过程中修复gem及其版本。还有其他区别吗?现在在我看来是重复的.. 最佳答案 据我了解,gem:unpack会将您的应用需要的任何第三方gem解压到vendor/gems中。rails:freeze:gems仅卡住那些与rails本身有关的gem
我是ruby和rails的新手。我看到我包含的任何gem,我都可以在我的代码中直接使用它的功能。我没有看到代码的任何导入,也没有看到函数的任何namespace。如果gem包含具有相同名称的函数,这不是冲突的秘诀吗?所以-ruby/rails如何导入函数,如何将函数映射到gem?当2个gem包含相同的功能时会导致冲突吗?如果我想显式使用ruby库,我将如何导入它的代码?ruby中有命名空间吗? 最佳答案 rubyruby将一个文件中声明的函数导入另一个文件的方式是通过require函数。load完成类似的事情,但对于一般用途
我已经在我的winxpsp3机器上安装了ruby1.8.6p368和gems1.3.4以及所需的库,如zlib、ssl或readline。问题是,当我现在尝试使用一些gem时,出现以下错误:Exception`LoadError'atD:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1112-nosuchfiletoload--rubygems/defaults/operating_systemException`LoadError'atD:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.
我知道我已经安装了ruby和gem,因为我之前已经安装了一堆gem。此外,当我执行以下操作时~$ruby--versionruby1.8.7(2010-08-16patchlevel302[i486-linux]~$gem--version1.3.7如您所见,它们会返回版本——但当我尝试这样做时——~$sass--watchhappy.scss:happy.cssbash:sass:commandnotfound我对一切都比较陌生,但对ruby和gem的了解要多得多。为了或多或少地揭示我对事物的一般理解水平,我已经了解了足够多的Debian来获得一个可以让Clojure运行并让We
我正在尝试在MacOSYosmite上安装bundlergem~/code/hellogeminstallbundlerERROR:Loadingcommand:install(LoadError)cannotloadsuchfile--zlibERROR:Whileexecutinggem...(NoMethodError)undefinedmethod`invoke_with_build_args'fornil:NilClass我做了以下事情:通过自制软件安装zlib升级Rubygems重新安装RVM和Ruby2.2.2切换到Rbenv和Ruby2.2.2这真的让我费尽心思。Rub
我正在编写一个Gemfile来帮助开发我的团队正在创建的一些gem。我知道Gemfile允许使用:path参数来引用包含.gemspec文件的本地目录:gem"my_gem",:path=>"../Ruby_Libs/my_gem"但是,我的团队成员在编写代码时使用不同的操作系统(OSX、WinXP、Win7)。所以我的问题是如何使用Gemfile的:path参数来引用开发中的本地gem,其值与操作系统无关? 最佳答案 使用File.join('..','Ruby_Libs','my_gem'')而不是"../Ruby_Libs/m
对于我尝试安装的所有gem,我都遇到了这个错误:ERROR:Whileexecutinggem...(Gem::FilePermissionError)Youdon'thavewritepermissionsintothe/var/lib/gems/1.9.1directory.观察。我在Ubuntu14上运行。 最佳答案 根据这个问题,我看到了一些允许写入/var/lib/gems的步骤:创建gems(如果没有)组,并将您自己添加到组中:$groupadd-fgems$usermod-aGgems$(whoami)重新进入sess