user3472065
user3472065

Reputation: 1389

Install dmg package on MAC OS from Terminal

I would like to install the dmg java package in my MAC OS through the terminal

I tried using this command:

sudo installer -package jdk-7u51-macos-x64.dmg -target /

But I receive this error:

installer: Error the package path specified was invalid: 'jdk-7u51-macos-x64.dmg' 

Upvotes: 11

Views: 37349

Answers (4)

Yosri
Yosri

Reputation: 51

I ran into the exact same problem and found the root cause. if you trying to install a package where the installer has no permission to access the directory you will get that weird error.

i.e

osascript -e {'do shell script "installer -allowUntrusted  -pkg ~/Download/OpenJDK8U-jdk_x64_mac_hotspot_8u275b01.pkg  -target /tmp/ " with administrator privileges'}

1:150: execution error: installer: Error - the package path specified was invalid: '/Users/user-x/Download/OpenJDK8U-jdk_x64_mac_hotspot_8u275b01.pkg'. (1)

either by moving the package into /tmp/ or change the directory permission so applescript or installer command can access the file.

osascript -e {'do shell script "installer -allowUntrusted  -pkg /tmp/OpenJDK8U-jdk_x64_mac_hotspot_8u275b01.pkg  -target /tmp/ " with administrator privileges'}     
installer: The upgrade was successful.K

Upvotes: 1

SebMa
SebMa

Reputation: 4719

Let dmgFilePath be the variable containing the path of your dmg file.

Then you can try this :

$ MOUNTDEV=$(hdiutil mount $dmgFilePath | awk '/dev.disk/{print$1}')
$ MOUNTDIR="$(mount | grep $MOUNTDEV | awk '{$1=$2="";sub(" [(].*","");sub("^  ","");print}')"
$ sudo installer -pkg "${MOUNTDIR}/"*.pkg -target /
$ hdiutil unmount "$MOUNTDIR"

Tested on macOS High Sierra even if "$MOUNTDIR" contains one space.

Upvotes: 2

valorisa
valorisa

Reputation: 11

Thank Mateusz Szlosek,

For me :

$ MOUNTDIR=$(echo `hdiutil mount /Users/valorisa/Downloads/VirtualBox\ 5.0.14\ Build\ 105127
/VirtualBox-5.0.14-105127-OSX.dmg | tail -1 | awk '{$1=$2=""; print $0}'` | xargs -0 echo) 
&& sudo installer -pkg "${MOUNTDIR}/"*.pkg -target /

Password:
installer: Package name is Oracle VM VirtualBox
installer: Upgrading at base path /
installer: The upgrade was successful.

Valorisa

Upvotes: -2

Mateusz Szlosek
Mateusz Szlosek

Reputation: 1225

Try this:

MOUNTDIR=$(echo `hdiutil mount jdk-7u51-macos-x64.dmg | tail -1 \
| awk '{$1=$2=""; print $0}'` | xargs -0 echo) \
&& sudo installer -pkg "${MOUNTDIR}/"*.pkg -target / 

Upvotes: 15

Related Questions