2
  • 最佳答案

    这个问题你自己应该可以解决呀。


    你前面输出了环境变量


    你调用了你的test.sh这个脚本。


    然后报错npm: command not found


    也就是说你的npm没有,也就是说你没有安装node.js


    那你确定一下你的脚本运行环境是在哪里?是在docker的容器里呢?还是你本机上?


    应该是在你的docker容器里。你想想,如果你的docker容器直接调用你宿主机的命令,那能容器隔离吗?


    所以你的容器应该要有node.js才可以不报错。

    1153952789488054272  评论     打赏       拉大锯
    • 断点-含光君  回复 @拉大锯
      我刚刚也想到这个了,也尝试了拉取镜像,然后启动了node。但是还是找不到。是还需要做什么配置吗。我再搜索下
      断点-含光君 2021-02-08 16:57   回复 1139423796017500160
    • 拉大锯  回复 @断点-含光君
      容器内部安裝node.js不是单独一个镜像。我也没有用过docker来使用jenkins,我本地装。你捋清楚宿主机,容器之关的关系和运行环境应该就可以了。或者你直接找别人docker部署Jenkins的文章看看即可。
      拉大锯 2021-02-08 17:08   回复 1153952789488054272
    • 断点-含光君  回复 @拉大锯
      解决方法就是,不使用容器,直接在主机安装启动Jenkins,这样可以使用本地环境变量。因为容器内的环境和外部不一致。目前还没有找到如何同步或者如何获得环境变量的方法。
      断点-含光君 2021-02-09 09:17   回复 1139423796017500160
  • 补充下test.sh文件的内容

    #!/bin/bash
    echo "npm test--------------->"
    npm -v
    
    1139423796017500160  评论     打赏       断点-含光君
    • 断点-含光君  回复 @断点-含光君
      在本地环境中,执行node -v 和npm -v都是正常的。
      断点-含光君 2021-02-08 15:57   回复 1139423796017500160
    • 断点-含光君  回复 @断点-含光君
      直接cd到sh目录下执行./test.sh也是正常的。
      断点-含光君 2021-02-08 15:59   回复 1139423796017500160
    • 断点-含光君  回复 @断点-含光君
      问题新进展,发现了sh打印的path和主机打印的path不同。 /usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
      断点-含光君 2021-02-08 16:08   回复 1139423796017500160
    • 断点-含光君  回复 @断点-含光君
      这个是主机打印的:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/jre/bin:/usr/local/nodejs/bin
      断点-含光君 2021-02-08 16:08   回复 1139423796017500160
    • 断点-含光君  回复 @断点-含光君
      主机打印的是有nodejs环境变量的。所以,在docker中的容器执行脚本的时候,容器的环境和主机的不一致,或者只有部分。怎么才能一样呢。
      断点-含光君 2021-02-08 16:09   回复 1139423796017500160
相关问题
起风了 · Android
2021-05-13 14:00 10 2
起风了 · Android
2021-05-13 13:53 11 2
Aka安卓菜鸟 · App
2021-05-13 12:40 28 3
三,三 · 安卓事件
2021-05-13 11:11 28 2
狗东西 · APP上架
2021-05-12 22:39 16 6
Maybe · mysql
2021-05-12 21:19 11 4
keffy · android
2021-05-12 15:37 17 2
我是一只酸菜鱼 · android / 面试
2021-05-10 19:03 1 2
写代码 · 视频
2021-05-10 14:26 2 2
竭风 · java / maven
2021-05-09 14:19 1 5
待驯养的小狮子 · java.lang.NullPointerException
2021-05-08 21:07 1 2