Giter Site home page Giter Site logo

Comments (19)

th-ch avatar th-ch commented on July 18, 2024 1

Hey @Itai-Nelken, thank you for the detailed feedback! Glad to see it working 😃
For the downloader issue, the mp3 conversion is done with the WebAssembly version of FFmpeg and not sure of how well it is supported on ARM 😬 - I don't have an ARM machine at the moment to test, keeping the issue opened to track progress on this!

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024 1

here are the build instructions for linux arm so far (I added everything I did, so there might be some uneeded instructions):

Install dependencies

node.js

There are two ways to install node.js: using apt and the nodesource repo and using nvm (node version manager), I recommend using nvm because using the nodesource repo has broken system permissions multiple times for me.

curl is needed, but you can change it with wget if you use the correct flags.

nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
nvm install node

nodesource

curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt install nodejs -y

yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn -y

build youtube music

git clone https://github.com/th-ch/youtube-music.git
cd youtube-music
yarn --frozen-lockfile

build a appimage

yarn build:linux --linux appimage --armv7l

build a deb

yarn build:linux --linux deb --armv7l

I had to run yarn --frozen lockfile, yarn build:linux --linux appimage --armv7l & yarn build:linux --linux deb --armv7l as root. otherwise the commands failed.
change armv7l with arm64 for building for Linux arm64.

notes

  • the downloader plugin doesn't work.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

I think i fixed the issue by installing yarn using the instructions on the official website

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

works perfectly ok. but I did get one error:

itai@UbuntuPi4-ultra-4gb:~/youtube-music$ yarn
yarn install v1.22.5
[1/5] Validating package.json...
[2/5] Resolving packages...
warning Resolution field "[email protected]" is incompatible with requested version "yargs-parser@^4.2.0"
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "@cliqz/adblocker-electron > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "xo > [email protected]" has unmet peer dependency "webpack@>=1.11.0".
[5/5] Building fresh packages...
[1/6] ⡀ registry-js
[4/6] ⡀ electron
[3/6] ⡀ phantomjs-prebuilt
[5/6] ⢀ electron-chromedriver
error /home/itai/youtube-music/node_modules/phantomjs-prebuilt: Command failed.
Exit code: 1
Command: node install.js
Arguments: 
Directory: /home/itai/youtube-music/node_modules/phantomjs-prebuilt
Output:
PhantomJS not found on PATH
Unexpected platform or architecture: linux/arm64

is that anything bad, or can I ignore it?
also how can I package (to deb or AppImage)?

Anyway, thank you for this great app!

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

it always starts up with the DevTools open even though they are disabled

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

and the addblocker doesn't work. it did work on my mac, so I guess it isn't something to do with the app.

from youtube-music.

th-ch avatar th-ch commented on July 18, 2024

Hey @Itai-Nelken, thanks for the feedback! I never tried on ARM64 but in all cases phantomJS should not be required, because it is a dev dependency (useful for dev but not to build the app) - if you only want to build, you can try:

yarn --frozen-lockfile
yarn build:linux

Not sure if will work on electron/electron-builder side (current electron version of the project is 10 while latest version is 11) but worth giving it a try!

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

Thanks a lot! will this also work on armhf (arm 32 bit)? I'll try anyway.

if you need any help with testing on ARM64 and ARMHF i can help you.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

when running yarn build:linux I get this error:

yarn run v1.22.5
$ yarn run clean && electron-builder --linux
$ rimraf dist
/bin/sh: 1: rimraf: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

I tried building again, and I got this error when running yarn --prod --frozen-lockfile:

pi@Twisterpi4-ultra-4gb:~/youtube-music $ yarn --prod --frozen-lockfile
yarn install v1.22.5
[1/5] Validating package.json...
[2/5] Resolving packages...
warning Resolution field "[email protected]" is incompatible with requested version "yargs-parser@^4.2.0"
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "@cliqz/adblocker-electron > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "xo > [email protected]" has unmet peer dependency "webpack@>=1.11.0".
[5/5] Building fresh packages...
$ yarn run icon && yarn run plugins
yarn run v1.22.5
$ rimraf assets/generated && electron-icon-maker --input=assets/youtube-music.png --output=assets/generated
/bin/sh: 1: rimraf: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
pi@Twisterpi4-ultra-4gb:~/youtube-music $ 

from youtube-music.

th-ch avatar th-ch commented on July 18, 2024

@Itai-Nelken Apologies, you actually need all dependencies to build the app (I edited my previous comment) so command is yarn --frozen-lockfile before yarn build:linux (but the phantomJS error should not be a blocker to build 🤞)

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

@th-ch still doesn't work. here is the terminal output of yarn --frozen-lockfile:

pi@Twisterpi4-ultra-4gb:~/Downloads/youtube-music $ yarn --frozen-lockfile
yarn install v1.22.5
[1/5] Validating package.json...
[2/5] Resolving packages...
warning Resolution field "[email protected]" is incompatible with requested version "yargs-parser@^4.2.0"
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "@cliqz/adblocker-electron > @cliqz/[email protected]" has incorrect peer dependency "electron@^v10.1.5".
warning "xo > [email protected]" has unmet peer dependency "webpack@>=1.11.0".
[5/5] Building fresh packages...
[1/6] ⠠ registry-js
[4/6] ⠠ electron
[3/6] ⠠ phantomjs-prebuilt
[5/6] ⠠ electron-chromedriver
error /home/pi/Downloads/youtube-music/node_modules/phantomjs-prebuilt: Command failed.
Exit code: 1
Command: node install.js
Arguments: 
Directory: /home/pi/Downloads/youtube-music/node_modules/phantomjs-prebuilt
Output:
PhantomJS not found on PATH
Unexpected platform or architecture: linux/arm




pi@Twisterpi4-ultra-4gb:~/Downloads/youtube-music $ 

and yarn build:linux:

pi@Twisterpi4-ultra-4gb:~/Downloads/youtube-music $ yarn build:linux
yarn run v1.22.5
$ yarn run clean && electron-builder --linux
$ rimraf dist
  • electron-builder  version=22.8.1 os=5.4.79-v7l+
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist/builder-effective-config.yaml
  ⨯ Unsupported arch arm  stackTrace=
                            Error: Unsupported arch arm
                                at archFromString (/home/pi/Downloads/youtube-music/node_modules/builder-util/src/arch.ts:43:13)
                                at computeArchToTargetNamesMap (/home/pi/Downloads/youtube-music/node_modules/app-builder-lib/src/targets/targetFactory.ts:43:20)
                                at Packager.doBuild (/home/pi/Downloads/youtube-music/node_modules/app-builder-lib/src/packager.ts:429:41)
                                at Packager._build (/home/pi/Downloads/youtube-music/node_modules/app-builder-lib/src/packager.ts:373:57)
                                at Packager.build (/home/pi/Downloads/youtube-music/node_modules/app-builder-lib/src/packager.ts:337:12)
                                at executeFinally (/home/pi/Downloads/youtube-music/node_modules/builder-util/src/promise.ts:12:14)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
pi@Twisterpi4-ultra-4gb:~/Downloads/youtube-music $ 

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

btw I'm using a armhf (32bit) OS now(RaspberryPi OS, debian)

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

@th-ch I managed to build the app on Linux (armv7l(armhf))!
here are the steps:

git clone https://github.com/th-ch/youtube-music.git
cd youtube-music
yarn --frozen-lockfile
yarn build:linux --linux appimage --armv7l

change --armv7l with --arm64 to build a arm 64bit AppImage.
the appimage will be in youtube-music/dist.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

here is a screenshot:
Screenshot_2020-12-30_12-47-03
I'm running the app on a RaspberryPi 4 4gb running TwisterOS.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

@th-ch now I get a error when trying to download music, here is a screenshot:
youtube-music-error

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

@th-ch I tried installing it using

git clone https://github.com/ffmpegwasm/ffmpeg.wasm.git
cd ffmpeg.wasm
npm install @ffmpeg/ffmpeg @ffmpeg/core --armv7l

and it installed successfully, but I still get the same error when trying to download...

also I have a spare pi that I can set up with remote desktop for you if you want.

from youtube-music.

Itai-Nelken avatar Itai-Nelken commented on July 18, 2024

I tried a few more thing. here is what I did (keep in mind I hardly have any idea what I'm doing, so I might be doing really stupid things):
I tried installingffmpeg.wasm with yarn: yarn add @ffmpeg/ffmpeg
download still doesn't work, same error.
I changed to the youtube-music folder and ran that command again, then I built the app again - same error when downloading...

from youtube-music.

JellyBrick avatar JellyBrick commented on July 18, 2024

Related to electron-userland/electron-builder#5626

from youtube-music.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.