Installing Rider on External SSD
I'm trying to offload programs on my MacBook to my external SSD, due to the size of JetBrains products (Rider & PHPStorm) I would like to install it on my SSD which I use for my projects. When I move the installation folder in JetBrains Toolbox to my external SSD and reinstall Rider, it gave me a big big error on startup. It's very long, so I hope you don't mind scrolling. Can anyone help me make the software more portable?
com.intellij.diagnostic.PluginException: Fatal error initializing 'com.jetbrains.rider.rdctShared.ideaInterop.keymaps.RdctRiderSettingsUpdater' [Plugin: com.jetbrains.rider.rdct-shared]
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:392)
at com.intellij.serviceContainer.ComponentManagerImpl.access$registerComponents(ComponentManagerImpl.kt:73)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:258)
at com.intellij.openapi.client.ClientAwareComponentManager.registerComponents(ClientAwareComponentManager.kt:48)
at com.intellij.ide.bootstrap.AppPreInitKt$initServiceContainer$2.invokeSuspend(appPreInit.kt:41)
at com.intellij.ide.bootstrap.AppPreInitKt$initServiceContainer$2.invoke(appPreInit.kt)
at com.intellij.ide.bootstrap.AppPreInitKt$initServiceContainer$2.invoke(appPreInit.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.diagnostic.TracerKt.subtask(tracer.kt:45)
at com.intellij.diagnostic.TracerKt.subtask$default(tracer.kt:34)
at com.intellij.ide.bootstrap.AppPreInitKt.initServiceContainer(appPreInit.kt:40)
at com.intellij.ide.bootstrap.AppPreInitKt$initServiceContainer$1.invokeSuspend(appPreInit.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: java.io.UncheckedIOException: java.io.IOException: /Volumes/VAULT/Applications/Rider.app/Contents/plugins/rider-rdct-shared/lib/._rider-rdct-shared.jar
at com.intellij.util.lang.ZipResourceFile.<init>(ZipResourceFile.java:40)
at com.intellij.util.lang.PathClassLoader.lambda$static$1(PathClassLoader.java:32)
at com.intellij.util.lang.ClassPath.createLoader(ClassPath.java:395)
at com.intellij.util.lang.ClassPath.getLoaderSlowPath(ClassPath.java:347)
at com.intellij.util.lang.ClassPath.findClassWithoutCache(ClassPath.java:222)
at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:210)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:326)
at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:178)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:151)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108)
at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:268)
at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:113)
at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58)
at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:238)
at com.intellij.util.lang.ClassPath.findClassWithoutCache(ClassPath.java:227)
at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:210)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:326)
at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:178)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:151)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponent(ComponentManagerImpl.kt:513)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:372)
... 22 more
Caused by: java.io.IOException: /Volumes/VAULT/Applications/Rider.app/Contents/plugins/rider-rdct-shared/lib/._rider-rdct-shared.jar
at com.intellij.util.lang.ImmutableZipFile.load(ImmutableZipFile.java:79)
at com.intellij.util.lang.ImmutableZipFile.load(ImmutableZipFile.java:49)
at com.intellij.idea.ZipFilePoolImpl.loadZipFile(ZipFilePoolImpl.kt:31)
at com.intellij.idea.ZipFilePoolImpl.loadZipFile(ZipFilePoolImpl.kt:17)
at com.intellij.util.lang.ZipResourceFile.<init>(ZipResourceFile.java:35)
... 45 more
Caused by: java.util.zip.ZipException: Archive is not a ZIP archive
at com.intellij.util.lang.ImmutableZipFile.populateFromCentralDirectory(ImmutableZipFile.java:204)
at com.intellij.util.lang.ImmutableZipFile.load(ImmutableZipFile.java:76)
... 49 more
Please sign in to leave a comment.
Hello Tazio2003,
If you want to make your installation portable, you'll need to move your configuration and plugins to the external SSD and change your IDE properties to reflect this.
You will need to move at least two directories to the SSD: configuration (
idea.config.path
) and plugins (idea.plugins.path
). You can find the default path to each directory in the Directories used by the IDE article.Once you move both directories, you need to change your IDE properties to point
idea.config.path
andidea.plugins.path
to new locations.Hey Kirill Filin ,
Thanks for your reply! I appreciate your help. I've copied my Rider configuration + plugins to the external SSD. But i couldn't find the option to change the configuration & plugin path. Is there an macOS version of your given URL?
Tazio2003,
You can change the default IDE directories the same way across all operating systems.
Essentially, you to add the
idea.config.path
andidea.plugins.path
variables to idea.properties that will point to new config and plugins location.One way to achieve this is to use environment variables. You can:
1. Create an environment variable
RIDER_PROPERTIES
, point it to some location where you would like to store your idea.properties file2. Create an empty idea.properties in location from previous step
3. Add config and plugin variables to this file and point them to their new location. Your idea.properties might look something like this:
4. Restart the IDE for this change to take effect
You can do the same with other IDEs (like PHPStorm) as well, but make sure you are using appropriate environment variable names. You can find all environment variable names in “Changing the location of idea.properties file” section of the article linked earlier.
Note that if in addition to the Rider installation itself, you also want to move temporary files (like caches and logs) to the external SSD, you can also set new
idea.log.path
andidea.system.path
. In this case, you do not need to move any existing directories, just make sure thatidea.log.path
andidea.system.path
point to new empty directories on your SSD. You can find a more detailed description for these directories and their default location in the Directories used by the IDE article.