You are currently browsing the category archive for the ‘MacBook Pro’ category.

It seems after every MacOS update these days I get this reoccurring issue about not being able to build GYP in a node project. I got tired of looking up the references to fix it and am consolidating them here for future reference.
Note: October 2020 update at the bottom (x-code 12).

The Error

The error that is thrown (or close to it is):

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (/usr/local/Cellar/node@10/10.18.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 19.3.0
gyp ER

The Fix

XCode CLTools is require for this to work. I don’t know the details, only what has corrected this for me in the past.

Check if installed:
/usr/sbin/pkgutil --packages | grep CLTools

Nothing will be returned if they are not present. If they are, ¯\_(ツ)_/¯, more research I guess.

Install XCode cli only (may need to use sudo:
xcode-select --install

If you received the error, “xcode-select: error: command line tools are already installed, use “Software Update” to install updates” you will need to remove the xtools first. Per the documentation you do that by:
sudo rm -rf /Library/Developer/CommandLineTools

Run the install again, and all should install as expected (may need to use sudo).
xcode-select --install

Once the install is complete recheck if CLTools are present:
/usr/sbin/pkgutil --packages | grep CLTools

You should received a response something like:

com.apple.pkg.CLTools_Executables
com.apple.pkg.CLTools_SDK_macOS1015
com.apple.pkg.CLTools_SDK_macOS1014
com.apple.pkg.CLTools_macOS_SDK

That’s it, try your build again.

October 2020 Update Note:

I still run into this issue after most updates. It happened again after the macOS 10.15.7 update. Though this time when running the install (sudo xcode-select --install) a message popped up that the software could not be found on the server. After some Duck Duck Googling I found the X-Code CLI Tools download. After installing this I was back in action and able to build again.

The URL https://developer.apple.com/download/more/?=command%20line%20tools

Another issue has arisen with my Windows 10 external boot on my Mac Book Pro.  There was an large update for Windows 10 which was failing. The reason, you can’t install windows on a usb flash drive using setup.  Sigh.

After a quick google search the fix was simple enough.  You simply go to registry key HKLM:\SYSTEM\CurrentControlSet\Control and change the value for PortableOperatingSystem from 1 to 0.

The part I didn’t expect is that now my MBP wants to boot the the external drive by default.  I am sure setup changed this in the boot partition.  My fear is bricking the MBP partition as I am not as familiar with its configuration.  I can still easily hold down the option key to cho0se the partition to boot to, though I don’t want to do this each time going into OSX as I use it 90% of the time now.

Under system preferences I opened Startup Disk, unlocked it and selected the Macintosh HD drive (the only one in the list by the way as my external drive is disconnected).  I then clicked the restart button.

Hey, that worked, cool.  The MBP now boots to OSX on restart or power-up, nice.

I have always known Microsoft OS’s to be a bitch with boot partitions (thinking back to old Linux multi-boot systems I had).  It has just been a while since I have been bit by it and I guess in a way I would have hoped they would have improved on things a bit.

Back in June I purchased my first MacBook Pro.  A big move for someone who has run Microsoft systems for the last 30 years.  Sure I have used Linux and OpenBSD servers, Ubuntu workstation on old hardware, but my primary OS has primarily remained Microsoft–All this time until now.  Since June when I purchased my new MacBook Pro, I spend 90% of my time in OSX (not including at work).  The only reason I go to my Windows machine is for Visual Studio and a few games.  Yes a few games, as so many of them work under OSX.

One primary reason for purchasing the expensive MacBook Pro was to have it replace my primary desktop computer I have at home.  This is a self-built beast used for gaming, developing and pretty much anything else.  My first mistake was not putting up the $300 for the 1TB SSD.  The machine has a 512GB SSD and cutting it up with a Windows partition is just not enough space.  So know I need (want) to run an external drive to run Windows from.  With Thunderbolt and an SSD performance will not be an issue.

I scanned a few Internet articles to see if it was possible, saw that it  was and purchased an external 256GB Transcend thunderbolt/USB3.0 SSD. One Saturday I started the Bootcamp installation on the drive not knowing that it would consume most of that day…. I scanned those articles a bit too fast.

I put this post together to go over the steps to get an external Windows drive working.  There were so many hurdles along the way, I hope this helps someone.  I know I may need it again in the future.

Setting up Windows 10 on an external SSD using Bootcamp

I say Windows 10, but this is useful for other Windows versions.

The firsts steps are the same as any other Bootcamp build to setup Windows on a Mac.  Though when you are done there will only be the OSX partition on your Mac drive proving all space to OSX.  Have your external drive connected to the machine.

  1. Open Bootcamp and start the process.  When you are asked to partition your drive, just select the minimum size.
    Boot_Camp_Assistant_blog1
  2. Select install and the files will be copied and configured on the partition just created.  This will take a little bit of time.
    Copying files
  3. Once complete the machine will restart and boot into the windows OS installer.
  4. Make sure you choose custom installation.
  5. I recommend you delete all partitions from your external drive and select the unpartitioned space to be installed into. Obviously be careful not to delete OSX partitions!
  6. The machine will boot a few times and everything will be fine, you’ll be able to install software, reboot, etc.

The issue comes in when you go back to OSX. Using the Bootcamp icon in Windows notification area you select to go back to OSX.  No worries here, the computer will boot back to OSX without issue.  The problem is that you will not be able to get back into windows.  Going to Settings > startup disk  and selecting your external windows drive throws the error: “the bless tool was unable to set the current boot disk.”  I still have not determine why apple can’t mark the partition as bootable, though I assume it has to do with the fact it is external.

This is the point I wasted most of my time trying to get the drive to boot.  The issue is that the partition on the external drive is no longer marked active so it cannot be booted from.  Windows Diskpart will not mark an external drive partition as active.  My [other] partition tool use is a bit rusty and a few mistakes were made, so I hope to keep you from doing the same. Holding Alt (Option) at this point during the mac POST does not work as well, the drive is not bootable, so it is not provided as an option.

The Fix

Ultimately I found a tool (yes this is a hack, but heck, it worked), WinToUSB by EasyUEFI.  This tool quickly repaired the partition of the drive and made it bootable again.  No fuss, it just worked. Plus, you only need the free version to complete this as well.WinToUSB by easyuefi.com logo

The instructions for this is on their site which you can find here: http://www.easyuefi.com/wintousb/faq/en_US/How-to-convert-Local-Disk-To-Windows-To-Go.html

Once I ran this against the drive I could boot from it!

The drive is working, but booting to Windows is a little different then using Bootcamp

Once this process is complete you no longer use startup disk and Bootcamp to switch between OS’s.  Your external drive will actually boot on ANY machine that supports booting from external storage devices.  Granted it has drivers loaded for the MacBook Pro so booting it on a different machine will not work so well (plus there may be issues with Windows 10 licensing since it uses a signature from your machine’s hardware).

Booting to Windows

When you start your Mac press and hold the alt (option) key.  This will bring up a boot menu which will show your Mac drive and your external Windows drive.  Choose the Windows drive and you are good to go!  Want to get back to Mac, reboot.  So, yes, you will need to this each time you want to boot to Windows, even if you choose restart.

Cleaning Up

Once you have your new external drive working as described above go ahead back to Bootcamp Assistant and remove the Bootcamp partition.  It isn’t needed and you can give that space back to your main OSX drive!  Hey, 32GB, that is a big chuck of music.  (:

In June I purchased my first MacBook Pro (I should really write about this sometime).  One simple feature I really enjoy is that the machine will announce the time at the top of each hour.  I don’t know why, I just really like that feature.

At work I am still on Microsoft Windows-based machines and wanted to have this same feature on them.   So I did some digging around and found a VBScript that will do it.  I added the code below to a sayhour.vbs file and set up as a scheduled task to run at the top of the hour.  I have all my clocks showing 24 hour time so their is no need for AM or PM, which personally drives me batty anyway.

' Say the following hour
Dim speaks, speech
speaks= "It's " & hour(time) & " hours"
set speech = CreateObject("sapi.spvoice")
speech.Speak speaks

Spending so much time in PowerShell now I wanted to solve this same issue there.  Again some looking around and digging in to the C# library SpeechSynthesizer I have a solution.  This too will run from a scheduled task.  The only part I have not been able to figure out is how to keep the cmd box to show when it runs.  The below code is saved in a sayhour.ps1 file and set up as a schedule task to to run at the top of the hour.

# Say the following hour
Add-Type -AssemblyName System.speech
$speech = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speech.Speak("It's $((Get-Date).hour) hours")
I know have my machine at work saying the hour at the top of the hour.  I quite like it.

 

So recently I purchased my first Mac. After 30+ years of using Microsoft OS’s for the majority of my work I have gone to the other side and purchased a MacBook Pro.  It is a great computer, something I may go into with another post.  There are UI elements I miss from Windows, some I have found ways to do in iOS and other I have been not so lucky.

One feature I use constantly on my Windows machines which is missing on the MacBook is to right click on a file and choose Notepad++ (or Atom, etc.) to open that file.  This is regardless of the file type, I am not referring to file associations to applications here.

PC right-click

Not having this functionality while working on my Mac really slows me down at times.  I needed a solution and found one, and would like to share it with you now.

The solution uses an application called Automator.  Automator was already installed on my machine, I don’t know if it standard or not.  Now that I have done it, the process is quite simple (there is a reference image at the end of the post):

  1. Open Automator
  2. Create a new document of type System
  3. In Library select Files & Folders
    1. This will open options in the next pane
  4. In the next pain select Open Finder Items then drag this into the workflow pane
  5. Within the item you just dragged in is a dropdown labeled: Open With:
    1. Select the application you want to open the folder or file with.  I have selected Atom.
  6. At the top of the workflow pane are two dropdown selectors.
    1. The first selector choose, files or folders
    2. The second selector choose, Finder
    3. So it should read, “Service receives selected files or folders in finder
  7. Save the document with the name that you want displayed in the right-click (secondary) menu
    1. I used “Open with Atom

That is all there is to it. If you open Finder and right-click on a file or folder you will see the option Open with Atom (or whatever you decide to call it).

Mac - Open in Atom

 

 

 

 

 

Setup in Automator:

automator-setup