簡體   English   中英

Rails服務器由於uglifier gem失敗

[英]Rails server fails because of uglifier gem

當我嘗試加載Rails服務器時,出現以下錯誤:

/home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require'
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
from /home/jared/.rvm/gems/ruby-head/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
from /home/jared/thirteenthagecharbuilder/config/application.rb:7:in `<top (required)>'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `require'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `block in server'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `server'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/jared/.rvm/gems/ruby-head/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
from /home/jared/thirteenthagecharbuilder/bin/rails:9:in `require'
from /home/jared/thirteenthagecharbuilder/bin/rails:9:in `<top (required)>'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/client/rails.rb:28:in `load'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/client/rails.rb:28:in `call'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/client/command.rb:7:in `call'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/client.rb:28:in `run'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/bin/spring:49:in `<top (required)>'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/binstub.rb:11:in `load'
from /home/jared/.rvm/gems/ruby-head/gems/spring-1.6.2/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/jared/thirteenthagecharbuilder/bin/spring:13:in `require'
from /home/jared/thirteenthagecharbuilder/bin/spring:13:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'

我已經搜索了很多問題,並且我對stackoverflow進行的每個回答都說“ install nodejs”,這已經完成了,但是這並沒有為我解決任何問題。

jared@machine:~$ nodejs -v
v0.10.29
jared@machine:~$ node -v
v4.4.4
jared@machine:~$ npm --version
2.15.1
jared@machine:~$ echo $PATH
/home/jared/.rvm/gems/ruby-head/bin:/home/jared/.rvm/gems/ruby-head@global/bin:/home/jared/.rvm/rubies/ruby-head/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/jared/.rvm/bin:/home/jared/.rvm/bin:/home/jared/.rvm/bin:/usr/local/nodejs/bin

我還已將therubyracer gem添加到我的gemfile中。 我捆綁安裝。 在這本書的最后,因為,老實說,我從任何人那里看到的關於該問題的唯一建議就是安裝nodejs,並且通常基於此標記該線程已解決,因此我無法嘗試其他事情。

使用rvm在ruby 2.4.0上安裝64位Debian 8(jessie)上的rails 4.2.5.1。

編輯:由於似乎沒有人希望對此有所了解,所以這是來自Rails開發人員的更多信息,我知道誰也無法解決問題:

新增中

$stderr.puts e.inspect

在第80行上方,產生:

#<TypeError: wrong argument type Class (expected Module)>

並搜索uglifier,以查看是否在項目中某處引用了某個類,而該類不應在該類中得到:

jared@machine:~/thirteenthagecharbuilder$ grep -r uglifier /home/jared/thirteenthagecharbuilder/
/home/jared/thirteenthagecharbuilder/Gemfile.lock:    uglifier (3.0.0)
/home/jared/thirteenthagecharbuilder/Gemfile.lock:  uglifier (>= 2.7.1)
/home/jared/thirteenthagecharbuilder/Gemfile:gem 'uglifier', '>= 2.7.1'
/home/jared/thirteenthagecharbuilder/config/environments/production.rb:  config.assets.js_compressor = :uglifier

最后(目前),config / application.rb的第7行說

Bundler.require(*Rails.groups)

因此,我對紅寶石表示失望,長話短說。 我使用rvm,因此刪除它非常容易,而且我對該項目也沒有做太多工作。 因此rvm和相關的寶石消失了。 我重新安裝了rvm,但是這次也使用了安裝Rails的選項:

https://rvm.io/rvm/install

\curl -sSL https://get.rvm.io | bash -s stable --rails

這使我開始工作。 所以我想我最好的建議是在使用rvm時使用rails標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM