我想通过终端
在我的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'
答案 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