前言
- 開發ionic項目要打包ios App必須在macOS系統上進行
- 在執行ionic命令的時候,總是需要在命令前面加上
sudo
或執行sudo -s
獲取到最高權限才能進行,否則報錯,說是沒有權限 - 接下來就說說如何避免權限問題
問題重現
首先說明一下,我的mac電腦的用戶名是
kit-mac
,我的app名稱是care_elderly
-
如下圖執行
ionic serve
報錯,說是權限問題
問題重現1 -
執行
ionic platform add ios
生成platforms文件夾帶個小鎖圖標
問題重現2 以上兩個問題都是因為當前用戶(kit-mac)沒有足夠的權限導致的.當然還有很多因為權限導致的問題......
確定問題
- 如下圖進入到當前用戶目錄下,也就是桌面目錄(Desktop)的上一個目錄.
注意:返回上一個目錄命令是:cd空格..
cd ..
- 執行
ls -la
查看當前目錄下的所有目錄(包括隱藏目錄)的詳情,發現.ionic
目錄的所屬權限是root
(最高權限),這就是導致上面權限問題的根源了
你的用戶目錄下可能有很多目錄所屬權限是
root
解決權限問題
- 在用戶目錄(kit-mac)下執行
sudo -s
,輸入密碼獲得root權限 - 然后執行命令
chown -R kit-mac .
把當前目錄下所有文件夾的權限分配到kit-mac用戶下,注意不要忘記命令后面還有個點,這個命令大概用時2分鐘
也可以執行
chown -R kit-mac .ionic
把.ionic
目錄的權限分配到kit-mac下
注意把kit-mac
改成你的用戶名
- 最后在執行
ls -la
查看并確定.ionic
的權限已經分配到kit-mac目錄下,如下圖
驗證
- 如下圖在kit-mac用戶下執行
ionic serve
已經沒有報錯,添加的platforms
目錄也沒有小鎖圖標了
常用命令
cd空格點點返回到上級目錄
cd ..
返回到當前根目錄
cd
查看當前到底在哪個目錄
pwd
查看當前目錄所有文件夾列表詳情(包括隱藏的目錄)
ls -la
切換到root權限(超級管理員)
sudo -s
在當前文件夾,使用sudo - s切換到root權限,執行下面命令,把當前文件夾下所有文件夾的所屬權更改到kit-mac用戶下
chown -R kit-mac .