我以为我了解 Bundler 是如何处理 gem 的,但是在最近发生的事情之后,我不确定我的理解是否正确。
我正在开发一个 Rails 应用程序。首先(为了熟悉我以前从未使用过的 Rails 环境),我没有使用 IDE。但是,因为我错过了 IDE 的一些优势,所以我才开始使用 RubyMine。作为 RubyMine 设置的一部分,它要求更新我现有项目的所有 gem。
在那之后,我无法运行“rake [anything]”。每次我这样做时,我都会收到以下错误:
您已经激活了 rake 0.9.3.beta.1,但是您的 Gemfile 需要 rake 0.9.2.2。使用 bundle exec 可以解决这个问题。
我可以更新到下一个版本的 rake - 这不是问题 - 但我不明白首先发生了什么。我“激活”了较新版本的 rake 发生了什么。最终,我最终解决了这个问题
gem 'rake', '0.9.3.beta.1'
Run Code Online (Sandbox Code Playgroud)
在我的 Gemfile 中运行
bundle update rake
Run Code Online (Sandbox Code Playgroud)
但是,我仍然不确定这里发生了什么。如果我之前使用的是 9.2.2,为什么它会突然像那样爆炸,我将来如何防止这种情况发生?
我即将习惯在 Android Studio 中使用 Java。最棒的是一切都被强烈声明。因此,当我输入 MyClass.someme... 时,IDE 会为我提供高级代码自动完成功能。发展是迅速而令人愉快的。
但后来我想学习 RubyOnRails。我非常喜欢 JetBrains 产品,因此我在 Windows 计算机上安装了 RubyMine。
尽管 Windows 环境存在一系列问题,但我对工作不太好的代码完成感到困惑。即使IDE知道该方法(可以通过Ctrl+B组合找到),它也不会在弹出菜单中提供它(发现图片)。
# SomeControllerHelper.rb
# Redirects to stored location (or to the default)
def redirect_back_or (default)
redirect_to(session[:forwarding_url] || default)
session.delete(:forwarding_url)
end
Run Code Online (Sandbox Code Playgroud)
有什么办法可以解决这个问题吗?有没有更好的 IDE 具有真正智能的代码完成功能?
我正在考虑改用 JetBrains IDE,因为 PhpStorm 的试用给我留下了深刻的印象,并且明显超越了 Sublime。
自从发现 Sublime 并离开 DreamWeaver 以来,我一直对 IDE 保持沉默。
对我来说,很明显 PhpStorm 是 WebStorm + PHP。
打开 PyCharm 和 RubyMine,它们看起来也非常相似。
所以,最大的问题是,PyCharm、RubyMine 和 PhpStorm 的不同是否足以使其在购买 All Products Pack 时起作用,还是可以将其中一个的扩展安装在另一个上并基本上使一个软件能够胜任所有?
谢谢!
我在Ubuntu 11.10上运行RubyMine 4,RubyMine中的每一件事情都很好,我可以运行服务器,开发等等.但是,当我需要在命令行上工作时,我什么都做不了..
我cd到我的app目录,然后我试着:
$ rails s
Run Code Online (Sandbox Code Playgroud)
我明白了:
The program 'rails' is currently not installed. You can install it by typing:
sudo apt-get install rails
Run Code Online (Sandbox Code Playgroud)
这很奇怪,为什么我没有安装它,而我可以在RubyMine IDE中正常工作!
我需要使用命令行卸载gem,发现我不能使用命令行,因为它应该...
sam@ubuntu:~/Documents/RoR/course_builder$ gem uninstall 'capybara-firebug'
ERROR: While executing gem ... (Gem::InstallError)
cannot uninstall, check `gem list -d capybara-firebug`
Run Code Online (Sandbox Code Playgroud)
$ gem list -d 会给我:
*** LOCAL GEMS ***
Run Code Online (Sandbox Code Playgroud)
那里没有宝石..
如果我输入:
$ bundle install
Run Code Online (Sandbox Code Playgroud)
我明白了:
/usr/lib/ruby/vendor_ruby/bundler/rubygems_ext.rb:8:in `require': no such file to load -- rubygems (LoadError)
from /usr/lib/ruby/vendor_ruby/bundler/rubygems_ext.rb:8
from /usr/lib/ruby/vendor_ruby/bundler.rb:11:in `require'
from /usr/lib/ruby/vendor_ruby/bundler.rb:11
from /usr/bin/bundle:4:in `require' …Run Code Online (Sandbox Code Playgroud) RubyMine 5.4.2 Ruby 2.0.0-p0当我尝试运行调试器时,它会失败.它出什么问题了?
我用rails作曲家在rails项目上创建了一个ruby.我可以从终端运行项目,但是当我在RubyMine中打开它时,它显示了这个错误
Your Ruby version is 2.0.0, but your Gemfile specified 1.9.3 (Bundler::RubyVersionMismatch)
Run Code Online (Sandbox Code Playgroud)
我已经使用'ruby -v'检查了我的红宝石版本,它说
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
Run Code Online (Sandbox Code Playgroud)
我的rails版本使用'rails -v'
Rails 3.2.13
Run Code Online (Sandbox Code Playgroud)
但是,当我在RubyMine(版本:5.4.1)中打开项目时,它说
/path/to/my/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:361:in `validate_ruby!': Your Ruby version is 2.0.0, but your Gemfile specified 1.9.3 (Bundler::RubyVersionMismatch)
Run Code Online (Sandbox Code Playgroud)
RubyMine中的SDK版本显示"RVM:ruby-2.0.0-p195",语言级别为1.9
我已检查过此错误的其他线程,但它们都没有在终端中工作并在RubyMine中显示错误.我怎么解决这个问题?
我的rubymine停止识别html.erb文件:s你可以在这里看到它的样子:http://pasteboard.co/1D5oWZGB.png
如果您的建议,它的卸载,请打电话给我如何在Ubuntu上做:)谢谢无论如何:)
一开始,我用rubymine打开了我的项目.它提醒我No ruby interpreter configured for the project.当我在向导后面添加项目的SDK时,会发出以下错误.
12:55:57 PM Unknown Module Type
Cannot determine module type ("JAVA_MODULE") for the following module:"p4ep"
The module will be treated as a Unknown module.
Run Code Online (Sandbox Code Playgroud)
谁知道那是为什么?
我有一个简单的任务,将继承的文件转换为Unix风格的行结尾.这不是我经常执行的非常频繁的任务.
第一个想法是在Enter操作或选项名称工具窗口中输入 "行结束",但我不知道JetBrains将其称为"行分隔符"而是:
是否可以在配置中的某处添加此别名,以便此命令也可以被称为"行结束"?
请注意,"行结尾/分隔符"只是一个例子,因为我记得还有其他类似的情况.Jetbrains IDE有大量的命令,有时我不擅长立即回忆稀有命令的实际选项/命令名称.