2016-05-06 9 views
0

Ich benutze Linux. Ich versuche den Schluck mit Laravel 5.2 zu benutzen. Ich habe installiert NodeJS wie folgt aus:Installiere npm, nodejs - benutze laravel gulp

sudo apt-get install nodejs

Ich habe auch installiert npm:

sudo apt-get install npm

Ich habe die neuesten Versionen der beiden von ihnen. Aber es erstellt keinen Ordner node_modules im Stammverzeichnis meines Projekts. Ich habe sie verknüpft - Ich habe versucht, das überprüfen:

sudo ln -s /usr/bin/nodejs /usr/bin/node ln: failed to create symbolic link ‘/usr/bin/node’: File exists

Meine packaage.json Datei ist:

{ 
 
    "private": true, 
 
    "scripts": { 
 
    "prod": "gulp --production", 
 
    "dev": "gulp watch" 
 
    }, 
 
    "devDependencies": { 
 
    "gulp": "^3.9.1", 
 
    "laravel-elixir": "^5.0.0", 
 
    "bootstrap-sass": "^3.0.0" 
 
    } 
 
}

Gulpfile.js ist:

var elixir = require('laravel-elixir'); 
 

 
/* 
 
|-------------------------------------------------------------------------- 
 
| Elixir Asset Management 
 
|-------------------------------------------------------------------------- 
 
| 
 
| Elixir provides a clean, fluent API for defining some basic Gulp tasks 
 
| for your Laravel application. By default, we are compiling the Sass 
 
| file for our application, as well as publishing vendor resources. 
 
| 
 
*/ 
 

 
elixir(function(mix) { 
 
    mix.sass('app.scss'); 
 
});

Meine /resources/assets/css/app.scss Datei ist:

@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; 
 

 
.container { 
 
\t color: purple; 
 
} 
 
h1 { 
 
\t color:green; 
 
} 
 
body { 
 
\t background-color: red; 
 
\t font-size:10px; 
 
}

In meinem Editor gibt es Fehler: Can't resolve import into sass/scss file. weil ich keinen Ordner node_modules habe.

Wie funktioniert das? Was habe ich nicht richtig gemacht? Wenn ich schlucke

Danke!

Edited: Wenn ich npm installieren:

sudo apt-get install npm 
 
Reading package lists... Done 
 
Building dependency tree  
 
Reading state information... Done 
 
npm is already the newest version. 
 
The following packages were automatically installed and are no longer required: 
 
    ant ant-optional antlr3 aspectj bsh javahelp2 junit junit-doc junit4 
 
    junit4-doc libantlr-java libasm3-java libaspectj-java libbeansbinding-java 
 
    libbetter-appframework-java libbindex-java libbsh-java libbytelist-java 
 
    libcglib-java libcommons-codec-java libcommons-net1-java libeasymock-java 
 
    libfelix-framework-java libfelix-main-java libflute-java libfreemarker-java 
 
    libgeronimo-jpa-2.0-spec-java libgeronimo-osgi-support-java libhamcrest-java 
 
    libini4j-java libjcodings-java libjemmy2-java libjetty-java libjline-java 
 
    libjna-java libjoda-time-java libjsch-java libjvyamlb-java libjzlib-java 
 
    liblucene2-java libnb-absolutelayout-java libnb-apisupport3-java 
 
    libnb-ide14-java libnb-java5-java libnb-javaparser-java 
 
    libnb-org-openide-modules-java libnb-org-openide-util-java 
 
    libnb-org-openide-util-lookup-java libnb-platform-devel-java 
 
    libnb-platform13-java libnetx-java liboro-java libosgi-compendium-java 
 
    libosgi-core-java libosgi-foundation-ee-java libsac-java 
 
    libsequence-library-java libserf-1-1 libservlet2.5-java 
 
    libsimple-validation-java libslf4j-java libsqljet-java 
 
    libstringtemplate-java libsvn-java libsvn1 libsvnclientadapter-java 
 
    libsvnkit-java libswing-layout-java libswingx1-java libtrilead-ssh2-java 
 
    libxerces2-java libxml-commons-external-java libxml-commons-resolver1.1-java 
 
Use 'apt-get autoremove' to remove them. 
 
0 upgraded, 0 newly installed, 0 to remove and 55 not upgraded.

Und wenn ich npm installieren:

sudo apt-get install nodejs 
 
Reading package lists... Done 
 
Building dependency tree  
 
Reading state information... Done 
 
nodejs is already the newest version. 
 
nodejs set to manually installed. 
 
The following packages were automatically installed and are no longer required: 
 
    ant ant-optional antlr3 aspectj bsh javahelp2 junit junit-doc junit4 
 
    junit4-doc libantlr-java libasm3-java libaspectj-java libbeansbinding-java 
 
    libbetter-appframework-java libbindex-java libbsh-java libbytelist-java 
 
    libcglib-java libcommons-codec-java libcommons-net1-java libeasymock-java 
 
    libfelix-framework-java libfelix-main-java libflute-java libfreemarker-java 
 
    libgeronimo-jpa-2.0-spec-java libgeronimo-osgi-support-java libhamcrest-java 
 
    libini4j-java libjcodings-java libjemmy2-java libjetty-java libjline-java 
 
    libjna-java libjoda-time-java libjsch-java libjvyamlb-java libjzlib-java 
 
    liblucene2-java libnb-absolutelayout-java libnb-apisupport3-java 
 
    libnb-ide14-java libnb-java5-java libnb-javaparser-java 
 
    libnb-org-openide-modules-java libnb-org-openide-util-java 
 
    libnb-org-openide-util-lookup-java libnb-platform-devel-java 
 
    libnb-platform13-java libnetx-java liboro-java libosgi-compendium-java 
 
    libosgi-core-java libosgi-foundation-ee-java libsac-java 
 
    libsequence-library-java libserf-1-1 libservlet2.5-java 
 
    libsimple-validation-java libslf4j-java libsqljet-java 
 
    libstringtemplate-java libsvn-java libsvn1 libsvnclientadapter-java 
 
    libsvnkit-java libswing-layout-java libswingx1-java libtrilead-ssh2-java 
 
    libxerces2-java libxml-commons-external-java libxml-commons-resolver1.1-java 
 
Use 'apt-get autoremove' to remove them. 
 
0 upgraded, 0 newly installed, 0 to remove and 55 not upgraded.

+0

Sie tun müssen, ' npm install' in Ihrem Projektordner –

+0

Zuerst habe ich zu meinem Projekt navigiert und dann habe ich diese Befehle ausgeführt - es ist in meinem Projekt. –

+1

dann nur 'npm install' oder' sudo npm install' was auch immer für Sie funktioniert –

Antwort

1

Es klingt wie Sie npm install wurde im Projektverzeichnis nicht ausgeführt. Dadurch wird das Knotenmodul-Verzeichnis im Projektverzeichnis erstellt.

Wie mattferderer im Kommentar vorgeschlagen, tun Sie einfach nicht sudo, weil es Pakete mit sudo Berechtigungen installieren wird, glaube ich nicht, dass Sie das wollen. ;)

Laravel wird lokale Version von Schluck bevorzugen (wenn Sie auch den globalen installiert haben). Wenn Sie wissen lassen, dass der Behälter in $your_project_path/node_modules/.bin/gulp versteckt ist. Stellen Sie sicher, dass Sie es aus dem Projektverzeichnis ausführen, in dem gulpfile.js existiert.

Wenn es immer noch nicht funktionieren Ich schlage vor, NodeJS zu entfernen und zu reinigen und folgen Sie den Anweisungen von der offiziellen Website, um es erneut zu installieren (manchmal einfach sudo apt-get install nodejs npm und Verknüpfung wird nicht funktionieren): https://nodejs.org/en/download/package-manager/

Verwandte Themen