Không tìm thấy cài đặt gulp cục bộ ngay cả sau khi cài đặt npm install -g gulp


88

Tôi đã cố gắng cài đặt gulp bằng cách

npm install -g gulp

Đầu ra dường như là một cái gì đó như thế này. (tôi đã bỏ qua một số nhật ký)

npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/lodash._htmlescapes
/usr/bin/gulp -> /usr/lib/node_modules/gulp/bin/gulp.js
gulp@3.6.2 /usr/lib/node_modules/gulp
├── tildify@0.2.0
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── semver@2.2.1
├── chalk@0.4.0 (has-color@0.1.7, ansi-styles@1.0.0, strip-ansi@0.1.1)
├── orchestrator@0.3.3 (sequencify@0.0.7)
├── liftoff@0.9.8 (extend@1.2.1, minimist@0.0.8, resolve@0.6.3, findup-sync@0.1.3)
├── vinyl-fs@0.1.4 (graceful-fs@2.0.3, map-stream@0.1.0, mkdirp@0.3.5, vinyl@0.2.3, glob-stream@3.1.9, glob-watcher@0.0.6)
└── gulp-util@2.2.14 (lodash._reinterpolate@2.4.1, dateformat@1.0.7-1.2.3, minimist@0.0.8, vinyl@0.2.3, multipipe@0.0.2, through2@0.4.1, lodash.template@2.4.1)

Trong đoạn script trên, tôi có thể thấy một dòng / usr / bin / gulp -> /usr/lib/node_modules/gulp/bin/gulp.js mà tôi đoán đang tạo một simulink trong thư mục bin. Vì vậy, tôi sẽ nhận được trên toàn cầu nhưng tôi nhận được lỗi này.

No local gulp install found in /var/www/ksapp

Bất kỳ ý tưởng tại sao tôi gặp lỗi này.

Cảm ơn

Câu trả lời:


103

Như đã chỉ ra trong tài liệu , bạn nên cài đặt nó trên toàn cầu (bạn đã làm điều đó) thêm nó vào dự án dev deps của bạn (cục bộ):

npm install gulp --save-dev

1
Có khả năng Gulp không sao chép các tệp nút vào thư mục cục bộ của dự án không? Sau khi cài đặt Gulp trên toàn cầu, lệnh này tạo một bản sao cục bộ của nó như tôi hiểu.
Vladislav Rastrusny

Vấn đề là cài đặt cục bộ đảm bảo rằng bản dựng dự án của bạn sẽ KHÔNG bị phá vỡ ngay cả khi cài đặt hệ thống của bạn được nâng cấp (cài đặt gulp toàn cầu chỉ ở đó để cung cấp lệnh nhị phân trong đường dẫn). Đây là tình huống tương tự đối với càu nhàu.
Mangled Deutz

12
Tôi quá ghét bản sao đầy đủ của các mô-đun nút trong mỗi thư mục dự án, vì vậy tôi thường xuyên sử dụngnpm link gulp --save-dev
PA.

1
Đẹp, nhưng tôi không thấy điều đó npm link gulp --save-devtôn trọng --save-devthông số.
Derek Greer

2
@PA, để nhắc lại ý kiến ​​về các câu trả lời khác, npm link gulplà một ý tưởng tồi.
sfarbota

35

Tôi phải đối mặt với cùng một vấn đề. Đã giải quyết nó bằng cách tạo một liên kết

npm link gulp

8
Giống như đã nêu trong một bình luận khác, đây là một ý tưởng tồi. Hệ thống xây dựng như gulp hoặc grunt, được thiết kế theo cách mà một dự án cụ thể có thể phụ thuộc vào một phiên bản cụ thể của phiên bản xây dựng cụ thể (do đó, vẫn sẽ xây dựng bất kể trạng thái hoặc phiên bản đã cài đặt của hệ thống toàn cầu của bạn). Đang cố gắng để liên kết lại với nhau phiên bản toàn cầu và địa phương của ngụm được chụp mình trong bàn chân ...
đọc sai Deutz

@MangledDeutz Tôi không quan tâm đến việc gắn bó với dự án cụ thể này. Tôi chỉ muốn sử dụng nó như một công cụ dòng lệnh nhỏ để tự động hóa một số tác vụ xây dựng. Gulpfile của tôi sẽ không phải là một phần của git repo và trên thực tế, nếu tôi sao chép repo này trên một máy tính khác, tôi có thể quyết định không sử dụng gulp để tự động hóa các tác vụ này, tôi có thể sử dụng một công cụ khác. Tôi muốn giả sử nút và npm không tồn tại, và gulp chỉ là một số chương trình nhỏ trong / usr / bin tìm kiếm gulpfile.js trong CWD và hoạt động một cách kỳ diệu. Nếu đó là tất cả những gì tôi muốn, câu trả lời này không phải là một điều hợp lý để làm sao?
Jack M

@JackM nó vẫn không phải là một điều hợp lý, bởi vì tùy thuộc vào phiên bản gulp nào được cài đặt trên toàn hệ thống, nó có thể hoạt động hoặc không hoạt động với gulpfile.js đó (và ngắt "một cách kỳ diệu" mà không có lý do) ...
Mangled Deutz

@MangledDeutz Nhưng điều đó đúng với bất kỳ chương trình dòng lệnh nào chấp nhận tệp làm đầu vào.
Jack M

Yaaas! ĐIỀU NÀY! Hãy để nhà phát triển quyết định khi nào phiên bản toàn cầu có phù hợp hay không !!
Peter Konga-Kamau

-2

Kiểm tra thư mục /home/username/.npm: có thể các nhóm / chủ sở hữu của các tệp là root. Thay đổi thành tên người dùng:

chown -R username.username /home/username/.npm

-2

Gần đây tôi đã gặp phải thông báo lỗi "Local gulp not found". Tôi đã có thể vượt qua nó bằng cách tạo một liên kết tượng trưng từ thư mục node_modules toàn cầu đến thư mục dự án cục bộ nơi đặt gulpfile.js của tôi.


7
Sau đó, bạn đang đánh bại mục đích của một hệ thống xây dựng sẵn có tại địa phương KHÔNG bị hỏng khi bạn nâng cấp hệ thống cơ sở của mình. Điều này chắc chắn là một ý tưởng tồi và đi ngược lại với ý định tác giả ...
đọc sai Deutz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.