我无法运行服务器railss或无法制作Controller等。我该怎么办?终端显示以下错误:YourRubyversionis2.2.1,butyourGemfilespecified2.1.4 最佳答案 运行ruby-v然后你会看到你已经安装了ruby2.2.1,但是你的Gemfile中的第一行指定使用ruby2.1.4。更改Gemfile中的第一行以指定ruby2.2.1或安装ruby2.1.4如果你想使用以前的版本ruby2.1.4。然后首先使用rvmlist命令检查它是否已经安装。如果它在那里那么你需要运行rvmus
我刚刚设置了一个LinuxMintbox,用于使用rvm进行Rails开发。我继续生成了一个Rails5应用程序,设置了mysql连接,添加了cucumber-railsgem然后尝试运行:rakecucumber出于某种原因,我遇到了:/usr/bin/ruby2.3-Sbundleexeccucumber--profiledefault/usr/lib/ruby/vendor_ruby/json/version.rb:3:warning:alreadyinitializedconstantJSON::VERSION/var/lib/gems/2.3.0/gems/json-1.8.
通常有一个version.rb文件,定义gem的版本,例如:moduleFooVERSION="0.0.1"end在.gemspec文件中,需要version.rb并在那里使用Foo::VERSION。这个约定有什么好处?--此外,有时使用命名空间时,生成的verison文件可能位于嵌套文件夹中。将version.rb直接放在lib/下并在那里指定版本不是更容易吗? 最佳答案 这样做是为了减少.gemspec文件的改动(更改率)。我认为依赖项更改比版本更新(也更频繁)重要得多。因此版本更改会增加太多噪音并隐藏重要的提交。
在Ruby中有没有办法找到文件的版本,特别是.dll文件? 最佳答案 对于WindowsEXE和DLL:require"Win32API"FILENAME="c:/ruby/bin/ruby.exe"#yourfilenameheres=""vsize=Win32API.new('version.dll','GetFileVersionInfoSize',['P','P'],'L').call(FILENAME,s)pvsizeif(vsize>0)result=''*vsizeWin32API.new('version.dll',
在我将RUBY_VERSION字符串拆分为句点并将位转换为整数等之前,是否有更简单的方法从Ruby程序检查当前RUBY_VERSION是否大于X.X.X? 最佳答案 Ruby的Gem库可以进行版本号比较:require'rubygems'#notneededwithRuby1.9+ver1=Gem::Version.new('1.8.7')#=>#ver2=Gem::Version.new('1.9.2')#=>#ver1ver2#=>-1参见http://rubydoc.info/stdlib/rubygems/1.9.2/Gem
我输入了一个现有的ruby应用程序,然后输入:$rails想在这里启动railsserver。但它说:您的Ruby版本是1.8.7,但您的Gemfile指定为1.9.3其实我有一个1.8.7,但是我把它删掉了。如果我这样做:$ruby-v它说:ruby1.9.3p286(2012-10-12修订版37165)[x86_64-darwin11.4.2]所以我不知道该如何解决。你能帮我个忙吗? 最佳答案 如果您使用rvm,运行这个:$rvmuse1.9.3 关于ruby-on-rails
如何向我的Ruby添加--version选项Thor命令行界面应用程序。例如我希望能够运行$thor_app--version>thor_appversion1.0.0这个问题与RunaCLIThorappwithoutargumentsortaskname有关,但专门添加一个不需要任务的--version选项。注意这是在self-answerformat之后编写的.鼓励添加答案和更新 最佳答案 我在这种方法上运气不错:classCLI:__print_versiondesc"--version,-v","printtheversi
我有Rake版本0.9.1,但我需要为一个项目使用0.8.7,我相当确定我安装了这两个版本,但它始终默认使用0.9.1。有没有办法指定使用哪个版本的Rake?我正在尝试运行这个:rakedb:dropdb:createdb:migratedb:seed我得到这个错误:您已经激活了rake0.9.1,但是您的Gemfile需要rake0.8.7。考虑使用bundleexec。 最佳答案 gem搜索(或列表)rake,应该会告诉您安装了哪些版本。您可以调用带有括号中的特定版本号的rake下划线。$rake_0.7.3_这是gem打包二进
我的问题是关于如何在没有括号和引号的情况下在ruby1.9中将数组元素转换为字符串。我有一个数组(数据库提取),我想用它来创建定期报告。myArray=["Apple","Pear","Banana","2","15","12"]在ruby1.8中,我有以下行reportStr="Inthefirstquarterwesold"+myArray[3].to_s+""+myArray[0].to_s+"(s)."putsreportStr产生(想要的)输出Inthefirstquarterwesold2Apple(s).ruby1.9中相同的两行产生(不需要)Inthefirst
每次我在命令行上运行任何gem命令时,Bundler都会坚持触摸我的Gemfile.lock文件以添加此行:RUBYVERSIONruby2.2.2p95我不想将它提交到我们的存储库,因为这意味着每个使用不同补丁级别的Ruby2.2.2的开发人员都将与我进行提交war。(我已经接受了BUNDLED_WITH行的类似问题。)但是除非我提交该行,否则我无法部署,因为我们的部署通过rake任务和运行部署导致Bundler添加这个block,于是部署过程说,“等等!你的工作树很脏!你可能正在部署不完整的更改!!!!1!”(好吧,不是字面意思,但你明白了。)我可以告诉Bundler将RUBYVE