从终端在MAC OS上安装dmg软件包

时间:2014-04-08 10:19:43

标签: macos terminal installer dmg

我想通过终端

在我的MAC OS中安装dmg java包

我尝试使用此命令:

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

但是我收到了这个错误:

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

4 个答案:

答案 0 :(得分:14)

试试这个:

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 / 

答案 1 :(得分:2)

dmgFilePath成为包含dmg文件路径的变量。

然后你可以试试这个:

$ 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"

即使"$MOUNTDIR"包含一个空格,也会在macOS High Sierra上进行测试。

答案 2 :(得分:0)

我遇到了完全相同的问题并找到了根本原因。 如果您尝试安装一个安装程序无权访问该目录的软件包,您将收到那个奇怪的错误。

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)

通过将包移动到 /tmp/ 或更改目录权限,以便 applescript 或安装程序命令可以访问该文件。

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

答案 3 :(得分:-1)

感谢Mateusz Szlosek,

对我来说:

$ 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