[WARNING] Your ImageJ installation cannot be updated because it is read-only

I’ve downloaded Fiji on my Mac, but it cannot be updated. When I open Fiji, a popup came out saying “the installation cannot be updated because it is read-only”. Can someone help me to solve this problem? Is it related to the JAVA version or just the problem of installation file? The JAVA version of my Mac is 1.8.0_181-b13. And the fiji is also the latest version of Mac. Thanks!

1 Like

Be sure you are actually putting the fiji app into the applications folder instead of downloads or something else.

1 Like

Thank you! I downloaded another fiji installation file and installed it, put it into applications. It worked and could be updated!

Hi there,

I just encountered the same issue, simply moving Fiji.app to /Applications did not fix it however.

TLDR:

Run

sudo chflags -R nouchg Fiji.app
sudo xattr -rd com.apple.quarantine Fiji.app

from the Terminal. This removes quarantining and immutable flags, rendering Fiji.app updateable again.

Longer version

So what’s going on here?

/Applications/Fiji copy.app
➜ xattr README.md
com.apple.quarantine

Aha, Apple’s Quarantine mechanism at work. Thanks for not telling me about this, Apple. Let’s get rid of that:

/Applications/Fiji copy.app
➜ sudo xattr -c README.md
xattr: [Errno 1] Operation not permitted: 'README.md'

Great. Thanks again. It’s not only quarantined, it’s also marked immutable :rage:

/Applications/Fiji copy.app
➜ sudo chflags -R nouchg .
➜ sudo xattr -rd com.apple.quarantine .

Ah, it’s writeable now. Amazing. Apple, slowly, you are doing worse than Microsoft. What an achievement.

5 Likes

Hi! Can you please help me, this is what I get when I copy your code.

Jacquelines-MacBook-Air:~ MadisonGonzalez$ chflags -R nouchg Fiji.app
chflags: Fiji.app: No such file or directory
Jacquelines-MacBook-Air:~ MadisonGonzalez$

Thank you

Welcome to the forum, @Madison_Gonzalez! And sorry you also experience this issue.

This suggests your Fiji download is not in your home directory. Where did you unpack Fiji? On your desktop? If so:

$ cd ~/Desktop
$ sudo chflags -R nouchg Fiji.app
$ sudo xattr -rd com.apple.quarantine Fiji.app

But I personally have never needed to follow these instructions. It has been enough on macOS systems I’ve used to: A) download the Fiji zip file to my Downloads or Desktop folder; B) double click to expand it; C) drag the Fiji icon from there to my Applications; D) right-click (i.e. control+click) the moved Fiji, select Open, confirm that I really want to open it; E) for subsequent launches, just double click or launch it as normal, once (D) has been done and flagged the application as trustworthy.

Hi,

thank you for your help. I deleted and redownloaded Fiji to my desktop so I could copy your code, and got the same error. I had previously tried putting the Fiji in my applications and that still didn’t work. I don’t understand computer stuff very well, so any help is appreciated!

The default interactive shell is now zsh.

To update your account to use zsh, please run chsh -s /bin/zsh.

For more details, please visit https://support.apple.com/kb/HT208050.

Jacquelines-Air:~ MadisonGonzalez$ cd ~/Desktop

Jacquelines-Air:Desktop MadisonGonzalez$ sudo chflags -R nouchg .

Password:

Jacquelines-Air:Desktop MadisonGonzalez$ sudo xattr -rd com.apple.quarantine .

Jacquelines-Air:Desktop MadisonGonzalez$

@Madison_Gonzalez Ahh, I gave you the wrong commands, sorry. Those commands are supposed to remove the nouchg flag from your Fiji app (not from the Desktop folder itself), and remove the quarantine flag as well. The correct commands are:

  1. Download Fiji.
  2. Unpack Fiji.
  3. Move Fiji to your Applications folder.
  4. Run these commands on the terminal:
    $ cd /Applications/Fiji.app
    $ sudo chflags -R nouchg .
    $ sudo xattr -rd com.apple.quarantine .
    
    (also edited similarly in my previous post, to prevent anyone else from cut-and-pasting the wrong thing)
  5. Right-click Fiji, Open, confirm it’s OK to open.

Does it make sense?

1 Like

May I ask a question: what does “Run these commands on the terminal” mean ? Sorry I don’t know what is “terminal” and where is this

@Tann Welcome to Image.sc! :sun_with_face:

The Terminal is an app which lets you run various commands directly. We’ll use it to fix our Fiji app to work properly. If you press +space to pop up Spotlight, then type in “terminal”, you should find the Terminal app:

Then press return to launch it. Cut and paste the following line:

cd /Applications/Fiji.app; sudo chflags -R nouchg .; sudo xattr -rd com.apple.quarantine .

Press return, and it will prompt you for your password. Type it—for security reasons, you won’t see the letters echo to the terminal, but it is recording what you type—and press enter. If you typed anything incorrectly, it will tell you and reprompt. Otherwise, it will perform those actions.

Afterward the terminal should look similar to this:

If yours looks the same, you can close the terminal window by typing exit and hitting return. Or if you see an error message, please select it, copy it to the clipboard with Edit › Copy (or ⌘C), and paste it into a reply here, so we can troubleshoot the problem.

Sorry these steps are necessary. Apple keeps making things more complicated. The ImageJ/Fiji team has plans to address some of this annoyance: in the near term, offering a .dmg installer like we used to; farther in the future, signing ImageJ and shipping it on the Mac App Store.

2 Likes