我正在使用 Amazon EC2 实例,当我bundle install以 ec2-user 身份运行时,它工作正常,但是当我以 root 用户身份尝试时,它会出错。
bash: bundle: command not found
当我gem list为两个用户运行时,存在 bundler gem 。我已经以 root 用户身份安装了 ruby-devel rubygems ruby-libs。任何人都可以帮我理解这个问题吗?我已经搜索和阅读了几个小时。
两个用户的 echo $PATH 如下。
根:
/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin
ec2 用户:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/bin
我正在尝试为我为 Rails 编写的一个小 gem 编写测试。我想独立于一个虚拟应用程序测试 gem 并且觉得这对我来说是一个很好的学习体验。但是,由于上述错误,我坚持要通过一个简单的测试。
我的 Gemfile 指向 gemspec,我用rspec --init.
我的测试(只是为了确保在我开始使用 ernest 之前一切设置正确):
RSpec.describe 'text_field', type: :view do
it 'has something on the page' do
assign(:users, [
mock_model("User", id: 1, name: 'Ashley')
])
stub_template 'users/_form.html.erb' => "<%= form_for @user do |f| %><%= f.text_field :name' %><% end %>"
render
rendered.should =~ /Ashley/
end
end
Run Code Online (Sandbox Code Playgroud)
整个错误:
text_field
has something on the page (FAILED - 1)
Failures:
1) text_field has something on the page
Failure/Error: assign(:users, [
NoMethodError:
undefined …Run Code Online (Sandbox Code Playgroud) 我正在使用Datetimepicker和Slider。我将它们包含在我的 Gemfile 中
gem 'datetimepicker-rails', github: 'zpaulovics/datetimepicker-rails', branch: 'master', submodules: true
source 'https://rails-assets.org' do
# gem 'rails-assets-select2-bootstrap-css'
gem 'rails-assets-seiyria-bootstrap-slider'
end
Run Code Online (Sandbox Code Playgroud)
在我的 application.js
//= require moment
//= require bootstrap-datetimepicker
//= require pickers
//= require seiyria-bootstrap-slider
Run Code Online (Sandbox Code Playgroud)
这在开发中效果很好,但是当我RAILS_ENV=production rake assets:precompile在服务器上运行(capistrano 部署或手动)时,这些和其他人似乎没有被拉进来。 Chrome 首先专门抱怨这两个。
我知道我可以放线Rails.application.config.assets.precompile += %w( *.js )然后做一个=javascript_include_tag :XXXX,但这违背了链轮/清单的目的,对吗?
我对链轮/清单的理解是,当我需要它时,application.js它将包含在部署中,因此客户端对服务器的访问更少。
有什么我想念的吗?
编辑
将问题追溯到uglifier宝石。当我删除/注释掉config.assets.js_compressor = :uglifier并重新编译时,JS 再次开始工作。
有什么想法吗?
我正在使用 rails 4.2.4 并尝试在我的应用程序中安装回形针 gem。在运行 bundle install 时编辑我的 gem 文件后,我收到了错误。
Bundler::GemspecError: Could not read gem at /home/darkpasenger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/cache/mimemagic-0.3.0.gem. It may be corrupted.
Run Code Online (Sandbox Code Playgroud)
安装 mimemagic (0.3.0) 时出错,Bundler 无法继续。
gem install mimemagic -v '0.3.0'在捆绑之前确保成功。
所以我运行命令gem install mimemagic -v '0.3.0。然后我又得到了错误。
ERROR: Error installing mimemagic:
invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in /home/darkpasenger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/cache/mimemagic-0.3.0.gem
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题。
我想在Ruby on Rails中开发一个应用程序.几年前我曾经使用过铁轨(大力).从那以后我没试过,我一直专注于核心红宝石.那时,Rails(1.2.x)曾经有点慢!所以我的问题是我是否应该选择较早的较慢版本或者我应该尝试较新的版本......它是否快速且稳定?它是否适用于为早期版本制作的所有宝石?
谢谢
我做的事情sudo gem install json.然后我做irb.然后我做require 'json'.然后它说no such file to load -- json
所以我正在使用一些ruby/rails代码在一台计算机上工作,并且工作正常.
然而,在另一台计算机上,我在尝试创建模型或运行服务器时遇到问题,看起来像是同样的问题.看看这个输出:
$>script/generate
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': no such file to load -- net/https (RuntimeError)
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:134:in `process'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from /home/aaron/NetBeansProjects/online-scheduler/config/environment.rb:9
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/generate.rb:1
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/generate:3
$>script/server
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': no such file to load -- net/https (RuntimeError)
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:134:in `process'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from /home/aaron/NetBeansProjects/online-scheduler/config/environment.rb:9
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in …Run Code Online (Sandbox Code Playgroud) 要安装MySQL gem:
$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ gem install mysql -- --with-mysql-config=/usr/local/bin/mysql_config
Run Code Online (Sandbox Code Playgroud)
返回错误:
ERROR: While executing gem ... (NoMethodError)
undefined method `spec' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
信息:
$ brew list
git
mysql
readline
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-10
- GEM PATHS:
- /Library/Ruby/Gems/1.8
- /Users/horace/.gem/ruby/1.8
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- …Run Code Online (Sandbox Code Playgroud) 我对发生的事情感到有点困惑.我的应用程序使用了一些不同的宝石,由于某种原因,存在需要更多宝石的问题.所以举个例子.我在config/environment.rb中有这个
config.gem 'will_paginate', :version => '2.3.12'
config.gem "bandsintown"
config.gem "gchartrb"
Run Code Online (Sandbox Code Playgroud)
我刚刚添加了gchartrb.当我跑
rake gems
(in /Users/matt/Sites/someapp)
- [R] will_paginate = 2.3.12
- [R] bandsintown
- [ ] gchartrb
I = Installed
F = Frozen
R = Framework (loaded before rails starts)
Run Code Online (Sandbox Code Playgroud)
然后我跑了
sudo rake gems:install
gem install gchartrb
Successfully installed gchartrb-0.8
1 gem installed
gem list | grep gchart
gchartrb (0.8)
Run Code Online (Sandbox Code Playgroud)
所以我很困惑该怎么做.我在mac osx上的雪豹.这是我的环境
which gem
/usr/local/bin/gem
which ruby
/usr/local/bin/ruby
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY …Run Code Online (Sandbox Code Playgroud) 我正在尝试在ubuntu中安装nokogiri gem.我已按照此页面上的说明操作:http://nokogiri.org/tutorials/installing_nokogiri.html
我已经完成了第一步:
# ruby developer packages
sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8
sudo apt-get install libreadline-ruby1.8 libruby1.8 libopenssl-ruby
Run Code Online (Sandbox Code Playgroud)
但是当我尝试下一步时sudo apt-get install libxslt-dev,我收到此错误:
Package libxslt-dev is a virtual package provided by:
libxslt1-dev 1.1.24-2ubuntu2
You should explicitly select one to install.
E: Package libxslt-dev has no installation candidate
Run Code Online (Sandbox Code Playgroud)
我不知道这意味着什么,或者如何选择一个(一个是什么?).有人可以帮忙吗?