Problem installing Pop Shell on Zorin 16.3

Hello there!
I'm just trying to install the Pop Shell to Zorin to get the Window tiling feature. Following steps I have done in the Terminal:

  1. sudo apt install git node-typescript make
  2. git clone GitHub - pop-os/shell: Pop!_OS Shell
  3. cd shell
  4. make local-install

During the last step I get the following messages including 3 error-messages:

"
UUID is "pop-shell@system76.com"
depcheck
rm -rf _build target
env PROJECTS="color_dialog floating_exceptions" ./scripts/transpile.sh

  • pwd
  • pwd=/home/boris/shell
  • rm -rf _build
  • mkdir -p _build/color_dialog
  • glib-compile-schemas schemas
  • tsc --p src/color_dialog
  • mkdir -p _build/floating_exceptions
  • tsc --p src/floating_exceptions
  • tsc
    src/paths.ts:2:12 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.

2 return import.meta.url.split('://')[1].split('/').slice(0, -1).join('/');
~~~~~~~~~~~

tsconfig.json:18:29 - error TS6046: Argument for '--moduleResolution' option must be: 'node', 'classic'.

18 "moduleResolution": "NodeNext",
~~~~~~~~~~

tsconfig.json:19:19 - error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext'.

19 "module": "NodeNext"
~~~~~~~~~~

Found 3 errors.

make: *** [Makefile:38: compile] Fehler 2
"

I don't know, what went wrong here. Is someone able to help?

Thanks in advance!

Hi and welcome to the ZorinOS forum!

Those are TypeScript errors, probably due to an unsupported version of Node.js and/or TypeScript compiler being used. Run node -v on a terminal window to check your current version, anything below 18 is unsupported.

If that is the case I would strongly suggest to remove your current installation of both TypeScript and Node.js and re-install it again. To remove them:

sudo npm remove typescript
sudo apt purge nodejs

Here are some general instructions on how to install it:

  1. Install Node.js following these instructions from the official documentation.

  2. Install TypeScript for the current user (for safety and convenience is best to avoid installing packages globally):

    mkdir ~/.npm-global
    npm config set prefix '~/.npm-global'
    
    # Make sure to add this to your `~/.profile` or `~/.bashrc` to ensure this location is always available, not only during this terminal session.
    export PATH=~/.npm-global/bin:$PATH
    
    npm install -g typescript
    

    Please do not use node-typescript as it's severely outdated (last updated 11 years ago).

  3. Download the appropriate branch of the pop-shell repository. Since ZorinOS 16 is based off of Ubuntu 20.04, you need to use the Jammy branch:

    git clone --branch master_jammy https://github.com/pop-os/shell.git
    
  4. Switch to the downloaded repository and install:

    cd shell
    make local-install
    

5 Likes

Thank you so much for your great and detailed help! :smiley: :+1:
Everything worked and pop shell runs.

2 Likes

If you have added pop-os repository to your software sources to achive this, once you are done with installing, I suggest you remove that repository to avoid future grief with Pop-OS updates messing with your ZorinOS. See this:

2 Likes

Thank you for the instruction!
PS. I was getting typescript not installed errors attempting this solution. I then gave up. And then, for lols, tried with

sudo npm install -g typescript

instead of

npm install -g typescript

And no more errors. Not sure why that worked.

When you install packages globally (that's what the -g flag stands for) you need elevated permissions. The fact that you needed to use sudo makes me think that you skipped this step:

npm config set prefix '~/.npm-global'

as that will ensure that packages installed with the -g flag are saved in that location, under your user's home directory and thus no need for additional permissions.
This obviously is not required, but it's desirable, as it reduces the risk of security vulnerabilities. Since you've already installed it using sudo I wouldn't necessarily recommend uninstalling everything, but for future reference remember to do this as it's a simple step that can make a big difference.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.