微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 bash 包装器脚本通过节点运行 snyk

如何解决无法使用 bash 包装器脚本通过节点运行 snyk

我能够使用以下命令通过 snyk 运行 iac 扫描器:

$ npm install -g snyk
$ snyk auth my-hash-api-token-key
$ snyk iac test /path/to/my/terraform.tf

我尝试使用这种格式将这些命令包装到一个 bash 脚本中

#!/bin/bash
token=$1
directory=$2

echo "PERFORMING SNYK SCAN"

echo "INSTALL SNYK"
npm install -g snyk

echo "AUTHENTICATE TO SNYK PORTAL"
snyk auth ${token}

echo "PERFORM SNYK TEST"
snyk iac test ${directory}

但是我总是从终端得到这个结果 = /usr/bin/env: node: No such file or directory 并寻找 package.json 执行以下包装器脚本时的示例输出

$ pwd
/home/user

$ ls -ltrh
total 0
drwxrwxr-x 3 user user 59 Feb 22 08:55 terraform-files

$ my-wrapper-script.sh my-hash-api-token-key /home/user/terraform-files
PERFORMING SNYK SCAN

INSTALL SNYK
/usr/bin/snyk -> /usr/lib/node_modules/snyk/dist/cli/index.js
+ snyk@1.458.0
updated 1 package in 11.49s

AUTHENTICATE TO SNYK PORTAL
Authenticating

PERFORM SNYK TEST 
npm WARN saveError ENOENT: no such file or directory,open '/home/user/package.json'
npm WARN enoent ENOENT: no such file or directory,open '/home/user/package.json'
npm WARN SOURCE_REPO_FOLDER No description
npm WARN SOURCE_REPO_FOLDER No repository field.
npm WARN SOURCE_REPO_FOLDER No README data
npm WARN SOURCE_REPO_FOLDER No license field.

/usr/bin/env: node: No such file or directory
/usr/bin/env: node: No such file or directory

PS:我还尝试了在其他文章中找到的建议解决方案,例如在 nodejs 和 node 上创建符号链接,但这不适用,因为我的盒子上已经有了 node。我对 npm/node 的知识仍然有限。我的目标是让扫描工作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。