如何在共享主机上安装没有npm的gulp?

在我的共享主机上,我希望能够使用gulp( gulp watch )将我的LESS资产编译到CSS中。 要安装gulp我也必须安装npm。

不幸的是托pipepipe理员拒绝安装npm。 有没有其他的方式来在我的服务器上运行gulp

我的gulpfile.js如下所示:

 var gulp = require('gulp'), connect = require('gulp-connect'), less = require('gulp-less'); gulp.task('webserver', function() { connect.server({ livereload: true }); }); gulp.task('less', function() { gulp.src('assets/less/app.less') .pipe(less()) .on('error', console.log.bind(console)) .pipe(gulp.dest('css')) .pipe(connect.reload()); }); gulp.task('fonts', function() { gulp.src([ 'bower_components/bootstrap/fonts/*', 'bower_components/fontawesome/fonts/*' ]) .pipe(gulp.dest('fonts')); }); gulp.task('watch', function() { gulp.watch('assets/less/*.less', ['less']); }); gulp.task('default', ['webserver', 'less', 'fonts', 'watch']); 

也许我需要做与凉亭一样的。 长话短说 – 我刚刚在我的OS X MAMP本地主机上开发了我的小型项目,在那里我做了所有的terminal( bower search etc. gulp watch etc.

就我的托pipe而言,我也可以通过ssh -l login host 访问shell

谢谢你的提示,甚至明确的答案,这是不可能的。

你不能使用没有节点的gulp,但是gulp是开发工具。

我认为你不需要在生产服务器上g喝。 在生产服务器上,您通常会给予使用gulp进行处理的文件,但是不要直接使用gulp。

 gulp.task('webserver', function() { connect.server({ livereload: true }); }); 

这是生产过程中不需要的一项重大任务。

 gulp.task('less', function() { gulp.src('assets/less/app.less') .pipe(less()) .on('error', console.log.bind(console)) .pipe(gulp.dest('css')) .pipe(connect.reload()); }); // ... gulp.task('watch', function() { gulp.watch('assets/less/*.less', ['less']); }); 

这些都是生产中不需要的吞噬任务。 你应该把编译的CSS文件放到服务器上,也许只有编译好的CSS而不是.less文件。

 gulp.task('fonts', function() { gulp.src([ 'bower_components/bootstrap/fonts/*', 'bower_components/fontawesome/fonts/*' ]) .pipe(gulp.dest('fonts')); }); 

这是生产过程中不需要的一项重大任务。 你可以简单地把这些文件放在编译目的地的服务器上。

总之,只要把你的编译文件推上去。 Gulp是一个构build工具 。 将构build推送到生产环境,而不是源代码。

即使您的pipe理员不会为您安装(或节点),您仍然可以使用NPM:

  1. 下载独立版本的Node(node.exe)
  2. 从Github克隆NPM项目(这是一个标准的节点项目),并将其放在与node.exe文件相同的文件夹中
  3. 使用npm如下: node.exe npm install gulpC:\Users\me\some-folder-you-can-write-to\node.exe npm install gulp