diff --git a/packages/opentelemetry-resource-detector-gcp/README.md b/packages/opentelemetry-resource-detector-gcp/README.md
index ccb2af7b091..8f493387b0a 100644
--- a/packages/opentelemetry-resource-detector-gcp/README.md
+++ b/packages/opentelemetry-resource-detector-gcp/README.md
@@ -12,6 +12,8 @@ The OpenTelemetry Resource is an immutable representation of the entity producin
 
 ## Installation
 
+The GCP resource detector requires Node.JS 10+ due to a dependency on [`gcp-metadata`](https://www.npmjs.com/package/gcp-metadata) which uses features only available in Node.JS 10+.
+
 ```bash
 npm install --save @opentelemetry/resource-detector-gcp
 ```
diff --git a/packages/opentelemetry-resource-detector-gcp/package.json b/packages/opentelemetry-resource-detector-gcp/package.json
index c13900f11b6..a6ee3702ac2 100644
--- a/packages/opentelemetry-resource-detector-gcp/package.json
+++ b/packages/opentelemetry-resource-detector-gcp/package.json
@@ -27,7 +27,7 @@
   "author": "OpenTelemetry Authors",
   "license": "Apache-2.0",
   "engines": {
-    "node": ">=8.0.0"
+    "node": ">=10.0.0"
   },
   "files": [
     "build/src/**/*.js",
@@ -41,23 +41,22 @@
     "access": "public"
   },
   "devDependencies": {
+    "@opentelemetry/core": "^0.10.2",
     "@types/mocha": "8.0.1",
     "@types/node": "14.0.27",
-    "@types/sinon": "9.0.4",
+    "@types/semver": "7.3.3",
     "codecov": "3.7.2",
     "gts": "2.0.2",
     "mocha": "7.2.0",
     "nock": "12.0.3",
     "nyc": "15.1.0",
     "rimraf": "3.0.2",
-    "sinon": "9.0.2",
+    "semver": "7.3.2",
     "ts-mocha": "7.0.0",
     "ts-node": "8.10.2",
     "typescript": "3.9.7"
   },
   "dependencies": {
-    "@opentelemetry/api": "^0.10.2",
-    "@opentelemetry/core": "^0.10.2",
     "@opentelemetry/resources": "^0.10.2",
     "gcp-metadata": "^4.1.4"
   }
diff --git a/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts b/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
index 4ecc6bf7353..ce1292bf537 100644
--- a/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
+++ b/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
@@ -23,6 +23,7 @@ import {
   resetIsAvailableCache,
 } from 'gcp-metadata';
 import * as nock from 'nock';
+import * as semver from 'semver';
 import { gcpDetector } from '../../src';
 import {
   assertCloudResource,
@@ -43,8 +44,8 @@ const PROJECT_ID_PATH = BASE_PATH + '/project/project-id';
 const ZONE_PATH = BASE_PATH + '/instance/zone';
 const CLUSTER_NAME_PATH = BASE_PATH + '/instance/attributes/cluster-name';
 
-describe('gcpDetector', () => {
-  describe('.detect', () => {
+(semver.satisfies(process.version, ">=10") ? describe : describe.skip)('gcpDetector', () => {
+  describe('.detect', function() {
     before(() => {
       nock.disableNetConnect();
     });
@@ -55,16 +56,6 @@ describe('gcpDetector', () => {
       delete process.env.NAMESPACE;
       delete process.env.CONTAINER_NAME;
       delete process.env.HOSTNAME;
-      delete process.env.ENTRY_POINT;
-      delete process.env.GCP_PROJECT;
-      delete process.env.GCLOUD_PROJECT;
-      delete process.env.GOOGLE_CLOUD_PROJECT;
-      delete process.env.FUNCTION_TRIGGER_TYPE;
-      delete process.env.FUNCTION_NAME;
-      delete process.env.FUNCTION_MEMORY_MB;
-      delete process.env.FUNCTION_TIMEOUT_SEC;
-      delete process.env.FUNCTION_IDENTITY;
-      delete process.env.FUNCTION_REGION;
     });
 
     beforeEach(() => {
@@ -74,16 +65,6 @@ describe('gcpDetector', () => {
       delete process.env.NAMESPACE;
       delete process.env.CONTAINER_NAME;
       delete process.env.HOSTNAME;
-      delete process.env.ENTRY_POINT;
-      delete process.env.GCP_PROJECT;
-      delete process.env.GCLOUD_PROJECT;
-      delete process.env.GOOGLE_CLOUD_PROJECT;
-      delete process.env.FUNCTION_TRIGGER_TYPE;
-      delete process.env.FUNCTION_NAME;
-      delete process.env.FUNCTION_MEMORY_MB;
-      delete process.env.FUNCTION_TIMEOUT_SEC;
-      delete process.env.FUNCTION_IDENTITY;
-      delete process.env.FUNCTION_REGION;
     });
 
     it('should return resource with GCP metadata', async () => {