相关疑难解决方法(0)

找不到本地gulp(尝试运行:npm install gulp)

我创建了一个module(webapp-module-storage),它有以下定义:

的package.json

{
  "dependencies": {
    ...
  },
  "devDependencies": {
    "gulp": "^3.9.1",
    ...
  },
  "name": "webapp-module-storage",
  "scripts": {
    "postinstall": "gulp build",
    "test": "gulp test"
  }
}
Run Code Online (Sandbox Code Playgroud)

我想我可以在安装它时使用我的模块在另一个模块中:

  • npm install github:myorg/webapp-module-storage#master

但是,当我安装我的模块时,我收到此错误:

找不到当地的一口气

尝试运行:npm install gulp

截图

在此输入图像描述

我的理解是,它gulp与我的模块一起发货,因为我宣布它,devDependencies但看起来我的npm postinstall脚本找不到gulp.

我错过了什么吗?

npm post-install gulp npm-install

78
推荐指数
3
解决办法
7万
查看次数

npm命令 - sudo与否?

目前我总是跑,sudo npm install <package-name>但据我所知,这是不正确的.

我希望有机会不以root用户身份使用它.我遵循了一些建议并使用了这个命令,sudo chown -R <username> ~/.npm但它不起作用......

例如,它是我的输出 npm install jade

...
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm ERR! Error: EACCES, symlink '../jade/bin/jade'
npm ERR!  { [Error: EACCES, symlink '../jade/bin/jade'] errno: 3, code: 'EACCES', path: '../jade/bin/jade' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
Run Code Online (Sandbox Code Playgroud)

如您所见,下载已成功启动,但随后失败了..

我想知道在npm上禁止sudo的最佳方法是什么?

macos sudo npm

23
推荐指数
2
解决办法
1万
查看次数

本地安装的gulp没有在命令行中运行?

我是nodejs和gulp的新手.我在一个nodejs项目上工作,我必须在所有文件上运行jslint.我正在使用gulp用于此目的.

我的问题是,为了在cli上运行gulp,我不想全局安装gulp,也不想更新我的路径变量,所以我使用package.json文件在本地项目中安装了gulp和其他节点模块

cd myproject

npm安装

因为我不想全局安装gulp并且想要运行本地gulp,所以在我的package.json文件中添加了脚本,就像这个问题中给出的一样

{
  "name": "",
  "version": "1.0.0",
  "main": "index.js",
  "private": true,
  "dependencies": {
    "async": "1.5.0"
  },
  "devDependencies": {
    "gulp": "^3.9.0",
    "gulp-jslint": "^0.2.2"
  },
  "scripts": {
      "gulp": "./node_modules/.bin/gulp"   // is this correct?
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的myproject文件夹中添加了一个gulpfile.js

var gulp = require('gulp'); 

// include plug-ins
var jslint = require('gulp-jslint');

// JS hint task
gulp.task('lint', function() {
  gulp.src('./common/srp/*.js')
    .pipe(jslint())
    .pipe(jslint.reporter('default'));
});

gulp.task("default", ["lint"]);
Run Code Online (Sandbox Code Playgroud)

但现在我在myproject文件夹中的命令行,当我运行gulp和gulp lint时,我收到一个错误

user1-VirtualBox:〜/ myproject $ gulp lint

/usr/local/node-v0.10.26-linux-x64/bin/gulp没有这样的文件或目录

它寻找全局节点模块中的gulp.

有没有办法让gulp在cli上运行而无需全局安装并更新PATH变量.

任何帮助将不胜感激谢谢

command-line node.js gulp package.json

20
推荐指数
4
解决办法
3万
查看次数

我可以全球安装Gulp吗?

我一直致力于新的Web开发项目,在实践中,这些项目node_modules在部署时并不需要他们的文件夹.如果我能够gulpfile.js为每个项目创建一个小项目,而不是每个项目的node_modules文件夹中包含的6000多个文件,这对我来说更适合我,这些只是我在这台机器上使用过的.

我只使用Gulp编译SASS并加前缀和缩小我的CSS.我不需要担心任何其他类型的部署问题,但文档说我需要两者:Gulp的全局和本地副本.

gulp gulp-sass gulp-watch

16
推荐指数
1
解决办法
3万
查看次数

gulp local和CLI版本不匹配

我之前使用过全局安装gulp npm install gulp -g.然后我克隆了一个现有的项目,这要求我使用自己的gulp.现在当我gulp -v从我的项目文件夹外面做一个时,我得到了这样的不匹配.

C:\Users\userme>    
[11:14:05] CLI version 3.8.11
[11:14:05] Local version 1.0.0
Run Code Online (Sandbox Code Playgroud)

当我从我的项目文件夹中吞下一口之后,我就明白了.

C:\project\new\tools>
[11:14:26] CLI version 3.8.11
[11:14:26] Local version 3.8.11
Run Code Online (Sandbox Code Playgroud)

现在我无法使用gulp正确合并我的JS文件(我在min文件中得到了一些奇怪的格式错误),我怀疑它与这种不匹配有关.

  1. 有没有办法删除全局gulp版本,但保持项目特定gulp
  2. 或者我可以将我的全球版本更新为@ 3.8.11吗?

注意 - 我确实尝试通过使用更新全局gulp npm update gulp@3.8.11 -g但没有发生任何事情.我仍然得到不匹配.

更新来描述问题: 我正在使用gulp将多个JS文件合并到一个main.js文件中.我在合并文件中获得的格式在其中有语法错误.

合并文件中的预期输出 -

...
define('utils/knockoutBindings/slider',['require','ko','jquery'],function(require) {
    'use strict';
    var ko = require('ko');
    var $ = require('jquery');
...
Run Code Online (Sandbox Code Playgroud)

合并文件中的实际输出(下面的1行代码错误地替换了上面的4行) -

...
var'utils/knockoutBindings/slider',['require','ko','jquery'],function(require) {
...
Run Code Online (Sandbox Code Playgroud)

看起来gulp代码中存在一个问题,但是其他用户使用相同的代码,并且它在最终结果中运行良好.我们发现的唯一区别在于我的gulp版本不匹配.

gulp

15
推荐指数
2
解决办法
3万
查看次数

跳过Gulp的本地安装

我可以以某种方式跳过本地安装Gulp到项目?

我在全局安装了Gulp,将它作为依赖项添加到package.json中.但是Gulp仍希望在本地安装Local gulp not found in ...消息.如果我进行本地安装,Gulp将按节点复制到我的项目中.

有没有办法跳过Gulp的本地安装?我希望能够从命令行在整个服务器上运行它并在全局范围内管理它.

node.js npm gulp

9
推荐指数
1
解决办法
5174
查看次数

Docker Compose w/Gulp - 未找到本地 gulp

我正在尝试在 Docker 容器中使用 gulp。

我有以下内容Dockerfile

FROM golang:alpine
RUN apk --update add --no-cache git nodejs
RUN npm install --global gulp
ENV GOPATH=/go PATH=$PATH:/go/bin
VOLUME ["/go/src/github.com/me/sandbox", "/go/pkg","/go/bin"]
WORKDIR /go/src/github.com/me/sandbox
CMD ["gulp"]
Run Code Online (Sandbox Code Playgroud)

我有以下内容docker-compose.yml

version: '2'
services:
service:
    build: ./service
    volumes:
        - ./service/src/:/go/src/github.com/me/sandbox
Run Code Online (Sandbox Code Playgroud)

docker-compose build构建成功,但是当我运行时docker-compose up,我收到以下错误消息

Recreating sandbox_service_1
Attaching to sandbox_service_1
service_1  | [22:03:40] Local gulp not found in /go/src/github.com/me/sandbox
service_1  | [22:03:40] Try running: npm install gulp
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法来尝试修复它。

  • 还尝试过gulp-cli全局和本地安装
  • gulp尝试在本地安装npm install gulp
  • 尝试移动npm …

node.js docker gulp docker-compose

5
推荐指数
2
解决办法
7299
查看次数

如何使用全局安装的gulp模块?

我尝试了本教程,基本上设置了我的gulp项目并激活了更少的处理和观察.有用.现在我想在全球范围内安装模块,以便从机器上的每个设备访问它们,而不是为每个项目安装它们:

npm install --global gulp-less
npm install --global gulp-watch
npm install --global gulp-autoprefixer
npm install --global gulp-plumber
Run Code Online (Sandbox Code Playgroud)

现在我想在我的项目文件夹中运行gulp,但是gulp无法找到全局安装的模块:

$ cd /my/project
$ gulp
module.js:327
    throw err;
    ^

Error: Cannot find module 'gulp-less'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/root/temp/gulptest/gulpfile.js:9:12)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
Run Code Online (Sandbox Code Playgroud)

如何让它工作并使用全局gulp模块?

npm gulp gulp-less npm-install

3
推荐指数
1
解决办法
7319
查看次数

如何从 dockerfile 运行 gulp 任务

我正在尝试从我的 Dockerfile 运行 gulp 任务。这是我的 Dockerfile

#
# Node.js w/ Bower & Grunt Dockerfile
#
# https://github.com/digitallyseamless/docker-nodejs-bower-grunt
#

# Pull base image.
FROM library/node:4
MAINTAINER Digitally Seamless <docker@digitallyseamless.com>

# Install Bower & Grunt
RUN npm install -g bower grunt-cli && \
    echo '{ "allow_root": true }' > /root/.bowerrc

RUN npm install gulp -y
RUN gulp ng-config --env development

# Define working directory.
WORKDIR /data
COPY . /data


# Define default command.
EXPOSE 7000 
CMD ["bash"]
Run Code Online (Sandbox Code Playgroud)

请注意,在上面的 Dockerfile 中,我正在尝试安装 gulp 并运行 …

docker gulp dockerfile

2
推荐指数
1
解决办法
1万
查看次数