I can't update brave on Arch Linux via AUR

Description of the issue:
I installed Brave on my Arch Linux system via AUR (yaourt), because its NOT available in the official repo :frowning:
Now i figured out some problems and found out that i am not using the latest version, so i tried to update with the yaourt tool. But the update fails in the build() function and quits. So i still have to use an old version.

Steps to Reproduce (add as many as necessary): 1. 2. 3.

  1. install Arch Linux
  2. install the yaourt tool for AUR access
  3. install brave with the yaourt tool
  4. update with " yaourt -Su"
  5. go through the standard yaourt dialog without changing anything. just click ā€œyesā€

Actual Result (gifs and screenshots are welcome!): here is the error log:

> brave@0.23.105 check-security /tmp/yaourt-tmp-kanda/aur-brave/src/browser-laptop-0.23.105dev
> nsp check

(+) Client request error: connect ECONNREFUSED 62.138.239.45:443
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! brave@0.23.105 check-security: `nsp check`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the brave@0.23.105 check-security script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kanda/.npm/_logs/2019-02-17T07_53_55_670Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! brave@0.23.105 checks: `npm run check-security`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the brave@0.23.105 checks script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kanda/.npm/_logs/2019-02-17T07_53_55_702Z-debug.log
buildPackage failed { Error: Command failed: echo cleaning up target...&&rm -Rf *-linux-x64&&rm -Rf dist&&rm -f *.tar.bz2&&echo done&&echo starting build...&&"./node_modules/.bin/webpack"&&npm run checks&&node ./node_modules/electron-packager/cli.js . brave --overwrite=true --ignore="pre-commit|pre-push|test/|docs/|tools/|signcode-tf|rx|nslog|eslint|cppunitlite|caniuse-db|cross-env|spectron|\.(0|13ctype|APACHE2|BSD|DOCS|DS_Store|LESSER|Makefile|a|ac|aff|after|am|arcconfig|arclint|babelrc|bat|before|bnf|brave-gyp|c|cardinalrc|cc|cfg|closure-compiler|cmake|cmd|covignore|cpp|csv|cxx|d|def|deps|dic|dll|dntrc|dockerignore|dsp|editorconfig|editorconfig~|el|enc|entitlements|eot|esprima|flow|flowconfig|gitattributes|githug|gitignore|gitattributes|gitignore|gitkeep|gitmodules|gnu|gradle|gyp|gypi|gz|h|hbs|hxx|idl|iml|in|inc|include|info|jade|java|jsfmtrc|jshint|jshintignore|jshintrc|jslintrc|jst|js~|keep|lint|lintignore|lock|log|ls|m4|mailmap|map|markdown|md|mdown|md~|mem|min-wd|mk|mkd|mm|mustache|myspell|myspell|name|nsh|nsi|nsprc|nuspec|nvmrc|o|old|orig|otf|param|patch|pegjs|post|pre|pro|py|rej|s|sage|scss|settings|sh|skip|source-map|stamp|swo|tap|targ|template|tern-port|tern-project|testignore|tm_properties|tmp|tpl|ts|txt|un~|vscode|xcf|xml|yaml|yml)$|/deps/|Release/obj|obj.target|ad-block/(node_modules|test|perf|sample|scripts|test|vendor|ABPFilterParserData.dat)|tracking-protection/(node_modules|test|data|scripts|vendor)|tracking-protection/build/node_modules|tracking-protection/build/Release/(sample.exe|test.exe)|sqlite3/src|nsp/node_modules|electron-installer-squirrel-windows|electron-chromedriver|electron-installer-debian|node-notifier/vendor|node-gyp|npm|jsdoc|docs|sinon|electron-download|electron-rebuild|electron-packager|electron-builder|electron-prebuilt|electron-rebuild|electron-winstaller-fixed|muon-winstaller|electron-installer-redhat|flow-bin|babel$|babel-(?!polyfill|regenerator-runtime|preset-env|core)|jsdom-global|react-addons-perf|react-addons-test-utils|enzyme|git-rev-sync|sqlite3|uglify-js|webdriverio|webpack-dev-server" --platform=linux --arch=x64 --name="brave" --version=8.0.9 --icon=res/dev/app.png --asar=true --app-version=0.23.105 --build-version=8.0.9 --protocol="http" --protocol-name="HTTP Handler" --protocol="https" --protocol-name="HTTPS Handler" --product-dir-name="brave" --version-string.CompanyName="Brave Software" --version-string.ProductName="brave" --version-string.Copyright="Copyright 2017, Brave Software" --version-string.FileDescription="brave"&&ncp ./app/extensions brave-linux-x64/resources/extensions&&npm run package-tor brave-linux-x64/resources/extensions/bin&&mkdirp brave-linux-x64/resources/app.asar.unpacked/node_modules/node-anonize2-relic-emscripten&&ncp node_modules/node-anonize2-relic-emscripten/anonize2.js.mem brave-linux-x64/resources/app.asar.unpacked/node_modules/node-anonize2-relic-emscripten/anonize2.js.mem
(+) Client request error: connect ECONNREFUSED 62.138.239.45:443
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! brave@0.23.105 check-security: `nsp check`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the brave@0.23.105 check-security script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kanda/.npm/_logs/2019-02-17T07_53_55_670Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! brave@0.23.105 checks: `npm run check-security`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the brave@0.23.105 checks script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kanda/.npm/_logs/2019-02-17T07_53_55_702Z-debug.log

    at ChildProcess.exithandler (child_process.js:297:12)
    at ChildProcess.emit (events.js:197:13)
    at maybeClose (internal/child_process.js:984:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
  killed: false,
  code: 2,
  signal: null,
  cmd:
   'echo cleaning up target...&&rm -Rf *-linux-x64&&rm -Rf dist&&rm -f *.tar.bz2&&echo done&&echo starting build...&&"./node_modules/.bin/webpack"&&npm run checks&&node ./node_modules/electron-packager/cli.js . brave --overwrite=true --ignore="pre-commit|pre-push|test/|docs/|tools/|signcode-tf|rx|nslog|eslint|cppunitlite|caniuse-db|cross-env|spectron|\\.(0|13ctype|APACHE2|BSD|DOCS|DS_Store|LESSER|Makefile|a|ac|aff|after|am|arcconfig|arclint|babelrc|bat|before|bnf|brave-gyp|c|cardinalrc|cc|cfg|closure-compiler|cmake|cmd|covignore|cpp|csv|cxx|d|def|deps|dic|dll|dntrc|dockerignore|dsp|editorconfig|editorconfig~|el|enc|entitlements|eot|esprima|flow|flowconfig|gitattributes|githug|gitignore|gitattributes|gitignore|gitkeep|gitmodules|gnu|gradle|gyp|gypi|gz|h|hbs|hxx|idl|iml|in|inc|include|info|jade|java|jsfmtrc|jshint|jshintignore|jshintrc|jslintrc|jst|js~|keep|lint|lintignore|lock|log|ls|m4|mailmap|map|markdown|md|mdown|md~|mem|min-wd|mk|mkd|mm|mustache|myspell|myspell|name|nsh|nsi|nsprc|nuspec|nvmrc|o|old|orig|otf|param|patch|pegjs|post|pre|pro|py|rej|s|sage|scss|settings|sh|skip|source-map|stamp|swo|tap|targ|template|tern-port|tern-project|testignore|tm_properties|tmp|tpl|ts|txt|un~|vscode|xcf|xml|yaml|yml)$|/deps/|Release/obj|obj.target|ad-block/(node_modules|test|perf|sample|scripts|test|vendor|ABPFilterParserData.dat)|tracking-protection/(node_modules|test|data|scripts|vendor)|tracking-protection/build/node_modules|tracking-protection/build/Release/(sample.exe|test.exe)|sqlite3/src|nsp/node_modules|electron-installer-squirrel-windows|electron-chromedriver|electron-installer-debian|node-notifier/vendor|node-gyp|npm|jsdoc|docs|sinon|electron-download|electron-rebuild|electron-packager|electron-builder|electron-prebuilt|electron-rebuild|electron-winstaller-fixed|muon-winstaller|electron-installer-redhat|flow-bin|babel$|babel-(?!polyfill|regenerator-runtime|preset-env|core)|jsdom-global|react-addons-perf|react-addons-test-utils|enzyme|git-rev-sync|sqlite3|uglify-js|webdriverio|webpack-dev-server" --platform=linux --arch=x64 --name="brave" --version=8.0.9 --icon=res/dev/app.png --asar=true --app-version=0.23.105 --build-version=8.0.9 --protocol="http" --protocol-name="HTTP Handler" --protocol="https" --protocol-name="HTTPS Handler" --product-dir-name="brave" --version-string.CompanyName="Brave Software" --version-string.ProductName="brave" --version-string.Copyright="Copyright 2017, Brave Software" --version-string.FileDescription="brave"&&ncp ./app/extensions brave-linux-x64/resources/extensions&&npm run package-tor brave-linux-x64/resources/extensions/bin&&mkdirp brave-linux-x64/resources/app.asar.unpacked/node_modules/node-anonize2-relic-emscripten&&ncp node_modules/node-anonize2-relic-emscripten/anonize2.js.mem brave-linux-x64/resources/app.asar.unpacked/node_modules/node-anonize2-relic-emscripten/anonize2.js.mem' }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! brave@0.23.105 build-package: `node ./tools/buildPackage.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the brave@0.23.105 build-package script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kanda/.npm/_logs/2019-02-17T07_53_55_741Z-debug.log
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...
==> FEHLER:Makepkg konnte brave nicht erstellen.
==> Erstellen von brave neu starten?[j/N]
==> -------------------------------------
==> ==> FEHLER:Konnte nicht aktualisieren

Expected result:
Should update.

Reproduces how often:
always

Brave Version(about:brave):

Brave: 0.23.105
V8: 6.8.275.24
rev: 0.23.105dev
Muon: 8.0.9
OS Release: 4.19.21-1-lts
Update Channel: Verƶffentlichung
OS Architecture: x64
OS Platform: Linux
Node.js: 7.9.0
Brave Sync: v1.4.2
libchromiumcontent: 68.0.3440.84

Hi @LunarCultist,
0.25.x is the last version for previous Brave (muon) that no longer supported and has been replaced by the new Brave 0.59.x and higher.

You may want to try install the new version https://support.brave.com/hc/en-us/articles/360018666072-Linux-Installing-Brave-from-Terminal- and import your browser data from prev Brave.

cc @sriram @Mattches for assistance

Dear @eljuno ,
i tried to install the latest version und i tried to clone and install from the github repo, but the error is still the same.
Here are some information from the error-log:
0 info it worked if it ends with ok
1 verbose cli [ ā€˜/usr/bin/nodeā€™, ā€˜/usr/bin/npmā€™, ā€˜runā€™, ā€˜build-packageā€™ ]
2 info using npm@6.8.0
3 info using node@v11.10.0
4 verbose run-script [ ā€˜prebuild-packageā€™, ā€˜build-packageā€™, ā€˜postbuild-packageā€™ ]
5 info lifecycle brave@0.26.0~prebuild-package: brave@0.26.0
6 info lifecycle brave@0.26.0~build-package: brave@0.26.0
7 verbose lifecycle brave@0.26.0~build-package: unsafe-perm in lifecycle true
8 verbose lifecycle brave@0.26.0~build-package: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/tmp/yaourt-tmp-kanda/aur-brave-git/src/browser-laptop/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
9 verbose lifecycle brave@0.26.0~build-package: CWD: /tmp/yaourt-tmp-kanda/aur-brave-git/src/browser-laptop
10 silly lifecycle brave@0.26.0~build-package: Args: [ ā€˜-cā€™, ā€˜node ./tools/buildPackage.jsā€™ ]
11 silly lifecycle brave@0.26.0~build-package: Returned: code: 1 signal: null
12 info lifecycle brave@0.26.0~build-package: Failed to exec build-package script
13 verbose stack Error: brave@0.26.0 build-package: node ./tools/buildPackage.js
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack at EventEmitter.emit (events.js:197:13)
13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:197:13)
13 verbose stack at maybeClose (internal/child_process.js:984:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
14 verbose pkgid brave@0.26.0
15 verbose cwd /tmp/yaourt-tmp-kanda/aur-brave-git/src/browser-laptop
16 verbose Linux 4.19.23-1-lts
17 verbose argv ā€œ/usr/bin/nodeā€ ā€œ/usr/bin/npmā€ ā€œrunā€ ā€œbuild-packageā€
18 verbose node v11.10.0
19 verbose npm v6.8.0
20 error code ELIFECYCLE
21 error errno 1
22 error brave@0.26.0 build-package: node ./tools/buildPackage.js
22 error Exit status 1
23 error Failed at the brave@0.26.0 build-package script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

will this work?

git clone https://aur.archlinux.org/brave-bin.git ~/Brave
cd ~/Brave
makepkg -sirc

https://aur.archlinux.org/packages/brave-bin/

Thank you! This did work.
But why isnt brave already part of the official arch linux repo?
And can i update brave with pacman or do i need to install the new version by myself?

Not sure why itā€™s not part of arch linux officiallyā€¦ but I think I seen some where the brave developers were planning on making releases for Arch or something? And Iā€™m not sure about the updating of Brave from AURā€¦ I donā€™t think Brave can really be updated on Linux if not officially supported by Brave? Example; going to About Page in Brave doesnā€™t trigger automatic updates of the Browser, like it does in Windows OSes. And meaning by the distro families they have listed on their wiki and help section page for how to install Brave in linux. Like Debian, Fedora, Mint, etc. IF the Brave developers officially support Arch linux in future, then Iā€™m sure it could be updated. Weā€™ll have to get a Brave developer or employee to confirm all this though.

I have not tried it yet myself, but if you download via GitHub then theoretically you should be able to do a ā€œgit pullā€ if updates are available, and then rebuild the application?

We do not have an official repo/bin on Arch. We might have it at some point but no ETA on it

You canā€™t trigger an update check on Linux. But if you have the source list created, then doing a sudo update should fetch the latest build that is publicly available on the update servers. I understand Arch is quite different and we are working on officially supporting Arch/based distros in future.

Hereā€™s an issue for tracking it

2 Likes