tauri
tauri copied to clipboard
When running `tauri build`, `bundle_dmg.sh` errors `fails to bundle project`
Edit: the .dmg
files are actually created and function correctly. You can find them in ./target/release/bundle/macos
Describe the bug
When running tauri build
, bundle_dmg.sh
errors fails to bundle project
.
Looking at the error log below, the issue seems to stem from an Apple script not being authorized: execution error: Not authorised to send Apple events to Finder. (-1743)
I tried restarting, upgrading rustc
, and running sudo tauri build
- didn't help.
Interestingly, tauri dev
does work.
To Reproduce
-
git clone [email protected]:joepio/atomic-data-rust.git
-
tauri build
Platform and Versions (required):
Operating System - Mac OS, version 12.0.1 X64
Node.js environment
Node.js - 16.9.1
@tauri-apps/cli - 1.0.0-beta.10
@tauri-apps/api - Not installed
Global packages
npm - 7.21.1
yarn - 1.22.17
Rust environment
rustc - 1.57.0
cargo - 1.57.0
App directory structure
/target
/server
/cli
/.github
/src-tauri
/lib
/.git
/.vscode
App
tauri.rs - 1.0.0-beta.8 (no lockfile)
build-type - bundle
CSP - default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'
distDir - ../server/static
devPath - ../server/static/tauri-splashscreen.html
package.json not found
Additional context
Add any other context about the problem here.
Stack Trace
+ WINX=10
+ WINY=60
+ WINW=500
+ WINH=350
+ ICON_SIZE=128
+ TEXT_SIZE=16
+ FORMAT=UDZO
+ ADD_FILE_SOURCES=()
+ ADD_FILE_TARGETS=()
+ IMAGEKEY=
+ HDIUTIL_VERBOSITY=
+ SANDBOX_SAFE=0
+ SKIP_JENKINS=0
+ MAXIMUM_UNMOUNTING_ATTEMPTS=3
+ POSITION_CLAUSE=
+ HIDING_CLAUSE=
+ [[ - = \- ]]
+ case $1 in
+ VOLUME_NAME='Atomic Server'
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ - = \- ]]
+ case $1 in
+ POSITION_CLAUSE='set position of item "Atomic Server" to {180, 170}
'
+ shift
+ shift
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ - = \- ]]
+ case $1 in
+ APPLICATION_LINK=480
+ APPLICATION_CLAUSE='set position of item "Applications" to {480, 170}
'
+ shift
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ - = \- ]]
+ case $1 in
+ WINW=660
+ WINH=400
+ shift
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ - = \- ]]
+ case $1 in
+ HIDING_CLAUSE='set the extension hidden of item "Atomic Server.app" to true
'
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ - = \- ]]
+ case $1 in
+ VOLUME_ICON_FILE=/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/icon.icns
+ shift
+ shift
+ case $FORMAT in
+ IMAGEKEY='-imagekey zlib-level=9'
+ [[ A = \- ]]
+ [[ -z Atomic Server.app ]]
+++ dirname /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/bundle_dmg.sh
++ cd /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg
++ pwd
+ SCRIPT_DIR=/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg
+ DMG_PATH='Atomic Server_0.28.2_aarch64.dmg'
++ dirname 'Atomic Server_0.28.2_aarch64.dmg'
+ DMG_DIRNAME=.
++ cd .
++ pwd
+ DMG_DIR=/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos
++ basename 'Atomic Server_0.28.2_aarch64.dmg'
+ DMG_NAME='Atomic Server_0.28.2_aarch64.dmg'
+ DMG_TEMP_NAME='/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
++ cd 'Atomic Server.app'
++ pwd
+ SRC_FOLDER='/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/Atomic Server.app'
+ [[ .dmg != \.\d\m\g ]]
+ [[ -z Atomic Server ]]
+ BREW_INSTALL=0
+ AUX_PATH=/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/support
+ '[' 0 -eq 0 ']'
+ test -d /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/support
+ [[ -f /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/Atomic Server.app/.DS_Store ]]
+ echo 'Creating disk image...'
Creating disk image...
+ [[ -f /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg ]]
+ rm -f '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
+ CUSTOM_SIZE=
+ [[ -n '' ]]
+ '[' 0 -eq 0 ']'
+ hdiutil create -srcfolder '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/Atomic Server.app' -volname 'Atomic Server' -fs HFS+ -fsargs '-c c=64,a=16,e=16' -format UDRW '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
...............................................................................................
created: /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg
++ get_size '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
+++ du -s '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
+++ sed -e 's/ .*//g'
++ bytes_size=48224
+++ blocks_to_megabytes 48224
+++ MB_SIZE=25
+++ echo 25
++ echo 25
+ DISK_IMAGE_SIZE=25
+ [[ 0 -eq 1 ]]
+ [[ -n '' ]]
++ expr 25 + 20
+ DISK_IMAGE_SIZE=45
++ hdiutil resize -limits '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
++ awk 'NR=1{print int($1/2048+1)}'
+ MIN_DISK_IMAGE_SIZE=24
+ '[' 24 -gt 45 ']'
+ hdiutil resize -size 45m '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
+ echo 'Mounting disk image...'
Mounting disk image...
+ MOUNT_DIR='/Volumes/Atomic Server'
+ [[ -d /Volumes/Atomic Server ]]
+ echo 'Mounting disk image...'
Mounting disk image...
+ echo 'Mount directory: /Volumes/Atomic Server'
Mount directory: /Volumes/Atomic Server
++ hdiutil attach -readwrite -noverify -noautoopen '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/macos/rw.Atomic Server_0.28.2_aarch64.dmg'
++ egrep --color=never '^/dev/'
++ sed 1q
++ awk '{print $1}'
+ DEV_NAME=/dev/disk4
+ echo 'Device name: /dev/disk4'
Device name: /dev/disk4
+ [[ -n '' ]]
+ [[ -n 480 ]]
+ echo 'making link to Applications dir'
making link to Applications dir
+ test -d '/Volumes/Atomic Server/Applications'
+ ln -s /Applications '/Volumes/Atomic Server/Applications'
+ [[ -n '' ]]
+ [[ -n /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/icon.icns ]]
+ echo 'Copying volume icon file '\''/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/icon.icns'\''...'
Copying volume icon file '/Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/icon.icns'...
+ cp /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/icon.icns '/Volumes/Atomic Server/.VolumeIcon.icns'
+ SetFile -c icnC '/Volumes/Atomic Server/.VolumeIcon.icns'
+ [[ -n '' ]]
++ mktemp -t createdmg.tmp.XXXXXXXXXX
+ APPLESCRIPT_FILE=/var/folders/k1/tynj2xbn5nd12wm5qn3sc4600000gn/T/createdmg.tmp.XXXXXXXXXX.ZJcDOTOg
+ [[ 0 -eq 1 ]]
+ [[ 0 -eq 0 ]]
+ applescript_source
+ '[' 0 -eq 0 ']'
+ cat /Users/joep/dev/github/joepio/atomic-data-rust/target/release/bundle/dmg/support/template.applescript
+ sed -e s/WINX/10/g -e s/WINY/60/g -e s/WINW/660/g -e s/WINH/400/g -e s/BACKGROUND_CLAUSE//g -e s/REPOSITION_HIDDEN_FILES_CLAUSE//g -e s/ICON_SIZE/128/g -e s/TEXT_SIZE/16/g
+ perl -pe 's/POSITION_CLAUSE/set position of item "Atomic Server" to {180, 170}
/g'
+ perl -pe s/QL_CLAUSE//g
+ perl -pe 's/APPLICATION_CLAUSE/set position of item "Applications" to {480, 170}
/g'
+ perl -pe 's/HIDING_CLAUSE/set the extension hidden of item "Atomic Server.app" to true
/'
+ sleep 2
+ echo 'Running AppleScript to make Finder stuff pretty: /usr/bin/osascript "/var/folders/k1/tynj2xbn5nd12wm5qn3sc4600000gn/T/createdmg.tmp.XXXXXXXXXX.ZJcDOTOg" "Atomic Server"'
Running AppleScript to make Finder stuff pretty: /usr/bin/osascript "/var/folders/k1/tynj2xbn5nd12wm5qn3sc4600000gn/T/createdmg.tmp.XXXXXXXXXX.ZJcDOTOg" "Atomic Server"
+ /usr/bin/osascript /var/folders/k1/tynj2xbn5nd12wm5qn3sc4600000gn/T/createdmg.tmp.XXXXXXXXXX.ZJcDOTOg 'Atomic Server'
/var/folders/k1/tynj2xbn5nd12wm5qn3sc4600000gn/T/createdmg.tmp.XXXXXXXXXX.ZJcDOTOg:394:406: execution error: Not authorised to send Apple events to Finder. (-1743)
+ echo 'Failed running AppleScript'
Failed running AppleScript
+ hdiutil detach /dev/disk4
"disk4" ejected.
+ exit 64
Error: failed to bundle project
Caused by:
Shell Scripting Error:`error running bundle_dmg.sh`
app:spawn Command "/Users/joep/.config/yarn/global/node_modules/@tauri-apps/cli/bin/tauri-cli" failed with exit code: 1 +1ms
Is this happening when running on CI? If so you need an env variable: #2567
Thanks for the quick reply. it's happening locally on my m1 macbook
@lucasfernog I am facing similar issues with my m1 mac. It just tries to open finder and then fails with same error.
info: running bundle_dmg.sh
Error: failed to bundle project
Caused by:
Shell Scripting Error:`error running bundle_dmg.sh, try running with --verbose to see command output`
Running into this as well, can confirm that CI=true npm run tauri build
works
This should also be fixed when #1731 is done
When setting CI=true
, it just stops generating the DMG file. Doesn't seem to be a reasonable fix on mac. 🤔
It works fine for me, so if you're actually not getting a DMG file then that sounds like a separate issue
You should get a DMG file, though a not so good looking one :( we'll need to refactor the DMG bundle script to fix this.
I get this error when trying to run pnpm tauri build
. Same issue with finder access.
FYI, tracing this back into https://github.com/create-dmg/create-dmg/issues/113.
Mojave introduced a new plist value that is required for Apple Script (used in create-dmg) to work with other applications (i.e. Finder).
Maybe we could introduce an OS version check to see if it's Mojave or later and dynamically choose to tack on the CI tag to skip using AppleScript as a workaround until (if) upstream fixes?
I wish we could stop using applescript and use something like https://github.com/LinusU/node-appdmg but it's a lot of work to translate that one to Rust.
when i run CI=true npm run tauri build it still returns the error what am i doing wrong?
https://github.com/tauri-apps/tauri/issues/3055#issuecomment-1125221226 same here mac m1
Same here on Mac M1
There are various threads talking about similar stuff to this. In one of them it recommended to open Photos.app and press 'Get Started' (I haven't used it before on this mac). That actually worked for some reason. 🤷
Commenting because opening Photos.app worked for me on an M1 MacBook Pro…
Before opening Photos.app…
Running bundle_dmg.sh
Error failed to bundle project: error running bundle_dmg.sh: error running bundle_dmg.sh: `failed to run […]/tauri-app/src-tauri/target/release/bundle/dmg/bundle_dmg.sh`
error Command failed with exit code 1.
After…
Running bundle_dmg.sh
Finished 2 bundles at:
[…]/tauri-app/src-tauri/target/release/bundle/macos/tauri-app.app
[…]/tauri-app/src-tauri/target/release/bundle/dmg/tauri-app_0.0.0_aarch64.dmg
For me, Photos.app did not accomplish anything on M2 Macbook Air, CI=true option does work!
It seems is macOS permission related problem, run “tarui build ” manual for the first time, problem solved.
I had same problem. Simple run Photos not help to me.
It was successed after manual run build script (bundle_dmg.sh from targer/release folder) and it build image. Then I unmount own builded image from finder.
I had same problem with Core i7 Mac
( Ventura 13.1
).
Node version is 16.14.2 and had error with both yarn
and npm
.
Error was shown but .App
file and .dmg
file was built.
I tested both and look like it running without any error (yet?)
I managed to solve this issue by running pnpm tauri build directly in the macOS terminal.
The issue for me was that the previously built image was open and bundle_dmg.sh couldn't overwrite it because the old app was running (permission error). Silly problem!
Run pnpm tauri build --verbose
to get the underlying cause. In my case:
hdiutil: create failed - Operation not permitted
could not access /Volumes/Sourcegraph/Sourcegraph.app - Operation not permitted
Then forcibly remove the volume:
sudo rm -rf /Volumes/Sourcegraph/Sourcegraph.app
And that won't fully resolve it (not sure why); you need to restart.
Same here on Mac M1
But I turned off the updater, it works well
"updater": {
"active": false,
"endpoints": ["https://maqi1520.github.io/mdx-editor/install.json"],
"dialog": true,
"pubkey": ""
},
Tried all the above options on macOS and still receiving the same error! Is this still an issue for anyone else?
I fixed it! I think the latest version of macOS is responsible here.
error when building with yarn in verbose mode yarn run tauri build -v
:
hdiutil: create failed - Operation not permitted
could not access /Volumes/App/App.app - Operation not permitted
Fixed by enabling "Full Disk Access" in System Settings for Terminal! (and VSCode for its internal terminal)
Neat, thanks! Very helpful :))
On Sat, Jul 1, 2023 at 3:02 PM Lucas Igel @.***> wrote:
I fixed it! I think the latest version of macOS is responsible here.
error when building:
hdiutil: create failed - Operation not permitted could not access /Volumes/App/App.app - Operation not permitted
Fixed by enabling "Full Disk Access" in System Settings for Terminal! (and VSCode for its internal terminal)
— Reply to this email directly, view it on GitHub https://github.com/tauri-apps/tauri/issues/3055#issuecomment-1616154645, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTSCR5I5CPIHU53UJCLOIDXOCM7LANCNFSM5JZHL7PQ . You are receiving this because you commented.Message ID: @.***>
I had to enable full disk access. Might be a better & safer way.
CI=true pnpm tauri build
works for me! 👍
i tried it, simple to fix sudo -E npm run tauri build --verbose
(you will need to use sudo -E in order to expose environment variables.)
make sure disk not full
see your Mac Finder sidebar, you will see something mounted, just delete it, everyting will be ok