หลังจาก Ionic CLI 5 เป็นต้นมา ส่วนที่ใช้ในการสร้างไฟล์ App Icon และ Splash Screen ได้แยกออกมาเป็น module แยกต่างหาก ไม่ได้รวมในโปรเจค Ionic ตั้งแต่เริ่มต้นครับ อาจจะทำให้หลายๆ คนสับสนพอควร
และเนื่องจากใน Workshop ล่าสุด พวกเราที่ใช้ MacOS รวมถึงพลเจอปัญหากับการที่ติดตั้ง cordova-res
ไม่ได้ ขอยกวิธีแก้มาที่นี้ครับ
อาการ
หลังจากเรารันคำสั่ง
sudo npm i -g cordova-res
จะเจอ error ประมาณนี้
Teerasej-MacBook-Pro:NextflowNote teerasejjiraphatchandej$ sudo npm i -g cordova-res
/usr/local/bin/cordova-res -> /usr/local/lib/node_modules/cordova-res/bin/cordova-res
> [email protected] install /usr/local/lib/node_modules/cordova-res/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
ERR! sharp EACCES: permission denied, mkdir '/Users/teerasejjiraphatchandej/.npm/_libvips'
info sharp Attempting to build from source via node-gyp but this may fail due to the above error
info sharp Please see https://sharp.pixelplumbing.com/page/install for required dependencies
gyp WARN EACCES user "nobody" does not have permission to access the dev dir "/Users/teerasejjiraphatchandej/Library/Caches/node-gyp/10.16.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/cordova-res/node_modules/sharp/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/cordova-res/node_modules/sharp/.node-gyp'
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/cordova-res/node_modules/sharp
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v5.0.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/teerasejjiraphatchandej/.npm/_logs/2019-07-16T16_09_52_809Z-debug.log
เป็นอาการที่เกิดจากปัญหาของ Permission ใน MacOS รุ่นใหม่นั่นเองครับ เป็นรากปัญหาเดียวกับ ios-deploy
วิธีแก้
ให้รันคำสั่งนี้แทนครับ ซึ่งเป็นการเพิ่ม option --unsafe-perm
เข้าไปในคำสั่ง
sudo npm i -g cordova-res --unsafe-perm
จากนั้นเราก็สามารถรันคำสั่งติดตั้ง ได้ตามปกติ ไม่ติดปัญหาอะไรแล้วครับ
เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework
เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง
สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373
โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!