Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 运行“rake资产:预编译”时出错`_Ruby On Rails_Ruby On Rails 3_Heroku_Rake_Assets - Fatal编程技术网

Ruby on rails 运行“rake资产:预编译”时出错`

Ruby on rails 运行“rake资产:预编译”时出错`,ruby-on-rails,ruby-on-rails-3,heroku,rake,assets,Ruby On Rails,Ruby On Rails 3,Heroku,Rake,Assets,我有一个rails 3.1应用程序,我正试图推送到heroku。推送工作时,错误在于它试图耙取资产。它会出错 Unexpected token punc, expected punc (line: 11225, col: 7, pos: 321149) undefined (in /Users/Matt/Orchive/Orchive/app/assets/javascripts/application.js) 然而,这个application.js文件只包含一些注释。这是: // This

我有一个rails 3.1应用程序,我正试图推送到heroku。推送工作时,错误在于它试图耙取资产。它会出错

Unexpected token punc, expected punc (line: 11225, col: 7, pos: 321149)
undefined
(in /Users/Matt/Orchive/Orchive/app/assets/javascripts/application.js)
然而,这个application.js文件只包含一些注释。这是:

// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require_tree
我不太了解资产,但在推之前,我尝试在终端中运行
rakeassets:precompile
,得到了这个大错误

/Users/Matt/.rvm/rubies/ruby-1.9.2-p180/bin/ruby /Users/Matt/.rvm/gems/ruby-1.9.2-p180/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Unexpected token punc, expected punc (line: 11225, col: 7, pos: 321149)

undefined
(in /Users/Matt/Orchive/Orchive/app/assets/javascripts/application.js)

Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/Users/Matt/.rvm/rubies/ruby-1.9.2-p180/bi...]

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
我可以编辑此内容,并将其更改为使用
--trace
显示的内容,如果这样更有帮助的话。
我认为这是一个常见的、容易修复的错误,我只是不知道怎么做。

看看这个url,这几乎是相同的错误。

修复程序如下:

摘要:application.js文件中缺少“逗号”或“分号”符号。 通过以下命令在本地运行时在此处记录完整跟踪:

bundle exec rake assets:precompile --trace

我的建议。删除require_树行。这可能会造成过多的问题。与在目录中添加所有内容相比,特别需要文件要好得多

解释

你的逗号放错地方了。或分号。它不太可能在jquery或jquery_ujs中,它可能在另一个文件中,但值得注意的一行是require_树行:

//= require jquery
//= require jquery_ujs
//= require_tree
在你的问题中,你提到“但是这个application.js文件只包含一些注释。”这些不是注释!这些文件实际上需要这些文件,并将其包含在中。Rails的神奇之处在于,您可以编写一个javascript文件,并在顶部添加requires,这将包括顶部的所有文件。通过这种方式,您可以包括像jQuery这样的供应商库,但是您只需要使用一个javascript文件


因此,上面的注释包括jquery、rails jquery助手库,然后require_树包括javascripts目录中的所有其他文件。在本地机器上打开您的网站并查看源代码。我敢打赌,您还有一些意想不到的javascript文件。

显示application.js中导致错误的行可能会有所帮助。这是奇怪的部分,app/assets/javascript/application.js仅包含注释。该目录中还有哪些其他javascript文件?谁说您正在使用refinerycms?检查错误和错误原因!application.js文件或application.js文件中包含的文件中缺少逗号或分号,就像您在使用require tree(意味着每个文件都将包含在javascript文件夹中)一样。我想这些文件可能有问题:(同时粘贴此命令“bundle exec rake assets:precompile--trace”的输出,我删除了application.js文件,效果非常好。@Zack这将删除assets文件夹中的所有内容。。这不是一个解决方案。@MuhammadSannan我很讽刺,因为Planetpluto删除了application.js并解决了它