【问题标题】:root can't find gulp command in project dirroot 在项目目录中找不到 gulp 命令
【发布时间】:2016-08-08 10:16:53
【问题描述】:

我当前的任务是创建一个 Jenkins 作业,它将下载一个 git 存储库,gulp 构建一个项目,最后将数据同步到 S3 存储桶。我的麻烦在于 root 找不到的 gulp build 命令。

我阅读了that关于在全局和使用后安装 nvm 的帖子:

wget -qO- https://raw.githubusercontent.com/xtuple/nvm/master/install.sh | sudo bash

能够将 nvm 安装到 /usr/local/nvm。

在我运行的项目目录(/var/lib/jenkins/project)中:

sudo /usr/local/bin/npm install

所有模块都转到项目目录中的 node_modules 目录。

然后我做:

sudo gulp build --env=production
sudo: gulp: command not found

root 好像找不到 gulpnode_modules/gulp/bin里面有一个gulp.js文件,但是我不知道怎么用。

那么我怎样才能使 gulp build 为 root 工作?以前我使用普通用户安装和构建项目,我知道项目没问题,切换到 root 后问题就出现了。

我的工作环境是带有 node.js 版本 4.4.7 的 Amazon Linux。这些是我使用 nvm、gulp 和 node.js 作为一个整体的第一步,所以如果我在做一些明显愚蠢的事情,请不要太苛刻。

【问题讨论】:

    标签: node.js jenkins nvm


    【解决方案1】:

    我认为你也必须安装 gulp-cli:

    sudo /usr/local/bin/npm install -g gulp-cli
    

    Gulp 全局命令与您在 node_modules/gulp/bin 中找到的本地 gulp 不同

    【讨论】:

    • 我这样做了,并且 gulp 安装在 /usr/local/nvm/v4.4.7 但是当我运行 sudo /usr/local/nvm/v4.4.7/bin/gulp build --env=production 它说:/usr/bin/env: node: No such file or directory
    【解决方案2】:

    Jenkins 不尊重您的环境变量,请执行以下操作以使用 gulp:

    cd "to dir containing node_modules"
    sudo nodejs ./node_modules/gulp/bin/gulp.js sometask
    

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 2021-12-31
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      相关资源
      最近更新 更多