Skip to main content

Quick Tips: Setup SFDX Manually without Admin access


We all have faced challenges while working in different enterprise environments, where there may be lot of controls/ checks/ red-tape to get by. In such situations, getting access to simple tools (even git) can take lot of time.

Note: This tutorial is to be followed at your own risk, as it may not be complaint to your organization's IT policies.


What is SFDX?

SFDX is a command line utility for managing salesforce builds/ deployments. Being command line, it can be easily embedded to automation chains, to help build fully automated build and deployment processes. To get started, refer https://trailhead.salesforce.com/en/content/learn/trails/sfdx_get_started

Setup SFDX on Windows machine without admin access

As you may have already realized, SFDX installation needs admin access to one's machine. Which may be a luxury a lot of developers may not have. So, i tried to provide a step-by-step guide to setup SFDX on your computer without any admin access

Steps:

Note: The path in commands is provided only for guidance. Ensure, you are using right path, as per your machine's folder structure
  1. Download latest NodeJS Zip file package (v13.1 - https://nodejs.org/dist/v13.1.0/node-v13.1.0-win-x64.zip)

  2. Unzip folder to desired location. Say \Tools\nodejs
    1. Note: zip extraction may generate the folder name as per nodejs packaging. In my case, the path was \Tools\nodejs\node-v13.1.0-win-x64

  3. Open command prompt (Win + R; type cmd and press enter)

  4. Within command prompt navigate to nodejs path (ensure to use correct path no your machine)
    cd Tools\nodejs\node-v13.1.0-win-x64

  5. Test if NodeJS works fine. Type following command in command prompt
    node –v
    Should display version of nodejs for e.g. v13.1.0

  6. Run nodevars to setup local variables
    nodevars

  7. Install sfdx command line using NPM (comes along with NodeJS)
    npm install sfdx-cli –global

  8. Voilla!! This should result in successful installation of sfdx on your desired folder. To test run this command
    sfdx –v
    It should result in sfdx version for e.g.
    sfdx-cli/7.33.2 win32-x64 node-v13.1.0

Note, this does not install sfdx as a global utility i.e. to use sfdx, you have to always provide an absolute path (\Tools\nodejs\node-v13.1.0-win-x64\sfdx) to run the command. However, it does allow you to use SFDX on your machine.

Update : July 21, 2020

If you are facing issues while running SFDX, such as:
  1. During authentication, Salesforce redirects to a localhost page and is unable to successfully complete authentication process, OR
  2. after authentication, any server request is blocked
  3. Org list command (force:org:list) lists down status as "UNABLE _TO_GET_ISSUER_CERT_LOCALLY"
Chances are that there's additional security (probably reverse proxy) implemented, due to which outgoing connections are unable to use required security certifications.

(Can have security issues) You can update nodevars file within nodejs extracted folder to disable TLS check by setting an environment variable. So,
  1. Locate nodevars.bat within nodejs folder
  2. Open nodevars.bat file and insert following code in there, preferbly after it sets path

set "NODE_TLS_REJECT_UNAUTHORIZED=0"


Comments

  1. Awesome mate, this what I have been looking forever :)

    ReplyDelete

Post a Comment

Popular posts from this blog

Quick Tips: Salesforce default Images

Well, I'm sure a lot of you still rely on using out of the box salesforce images for displaying quick icons within formula fields or even using them within your Visualforce pages. Lately, I realized that a lot of earlier resources are no longer accessible, so I tried to quickly extract all images from Salesforce CSS files and provide a quick reference here. Please note, I've referenced all images from SF servers directly, so if anything changes, the image should stop rendering here. As these images are completely controlled by Salesforce, and in case they change anything, it might lead to image not being accessible. Image path Image /img/samples/flag_green.gif /img/samples/flag_green.gif /img/samples/flag_red.gif /img/samples/color_red.gif /img/samples/color_yellow.gif /img/samples/color_green.gif /img/samples/light_green.gif /img/samples/light_yellow.gif /img/samples/light_red.gif /img/samples/stars_100.gif /img/samples/stars_200.gif /img/samples/stars_300.

Lightning: Generate PDF from Lightning components with in-memory data

I'm sure as everyone is diving into lightning components development, they are getting acquainted with the nuances of the Lightning components framework. As well as, its current limitations. Being a new framework, this is bound to happen. Although we have our users still using salesforce classic, we have started using lightning components framework our primary development platform and Visualforce is considered primarily for rendering lightning components within Classic Service console. Recently, while re-architecting a critical module, we encountered a problem wherein we needed to generate PDF from lightning components. Now, being Javascript intensive framework, it has limited room for such features (may be included in future roadmap). As of now, there is no native feature within the lightning framework to do so (at least I didn't find anything). Common Scenario - Create Visualforce page to retrieve data and generate PDF For scenarios where the data exist within Sa