We've moved discussions to Discord

How can I regenerate webpacker's manifest.json file?

Brian Carpenter
I'm getting the below error in my terminal when trying to start rails server.


    /.rvm/gems/ruby-2.7.1/gems/webpacker-5.1.1/lib/webpacker/manifest.rb:84:in `parse': An empty string is not a valid JSON string. (JSON::ParserError)

This is the offending lines from manifest.rb

def load
      if config.public_manifest_path.exist?
        JSON.parse config.public_manifest_path.read
      else
        {}
      end
    end

Through some debugging, I've discovered that my manifest.json file is empty, which is causing the error.

Does anyone know how this file can be regenerated?
Chris Oliver
Hey Brian,

What exactly are you trying to do? I can imagine this would fail if you haven't run bin/webpack yet.

A safer version of your code might be the following, but it still won't solve your problem from having no manifest (which is created on webpacker:compile)

def load
  JSON.parse config.public_manifest_path.read
rescue
  {}
end
Brian Carpenter
I used NPM to install wavesurfer.js as I'm looking for a wave form generator. After the the install, rails server would not start because of the  error posted, which led me to find the empty manifest file.  

Ultimately, I just used a version of the manifest file from a few days before that got me back up and running and I have not been able to recreate the problem again.  So not really sure what happened....

Thanks for the code suggestions, and the response.

Chris Oliver
Strange! Glad you figured it out. 👍
Notifications
You’re not receiving notifications from this thread.