确定。我通过udemy参加了Laravel的课程,所有的造型都是在sass中完成的。我按照与教练相同的步骤,但我得到了错误,而他的工作正常。有人可以请帮助。我在Windows上,他在MAC
我使用composer安装了Laravel,然后迁移了我的数据库表。
接下来我们要做的是使用
安装节点和东西npm install
这就是问题所在。我没有获得节点模块文件夹,而他做到了。要获取节点模块文件夹,我需要运行
npm install node-laravel 但文件夹包含不同的内容。
在我将sass文件夹添加到laravel中之后,为了编译它们,他运行了
npm run watch
SASS完美地为他编译,而我收到了这个错误
> @ watch C:\Users\andre\Dropbox\Code\Personal\CodingPhase\PHP-7\DesignSt
orm
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --wa
tch --progress --hide-modules --config=node_modules/laravel-mix/setup/web
pack.config.js
The system cannot find the path specified.
events.js:183
throw er; // Unhandled 'error' event
^
Error: spawn node_modules\webpack\bin\webpack.js ENOENT
at notFoundError (C:\Users\andre\AppData\Roaming\npm\node_modules\cro
ss-env\node_modules\cross-spawn\lib\enoent.js:11:11)
at verifyENOENT (C:\Users\andre\AppData\Roaming\npm\node_modules\cros
s-env\node_modules\cross-spawn\lib\enoent.js:46:16)
at ChildProcess.cp.emit (C:\Users\andre\AppData\Roaming\npm\node_modu
les\cross-env\node_modules\cross-spawn\lib\enoent.js:33:19)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198
:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ watch: `cross-env NODE_ENV=development node_modules/webpack/bi
n/webpack.js --watch --progress --hide-modules --config=node_modules/lara
vel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ watch script.
npm ERR! This is probably not a problem with npm. There is likely additio
nal logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\andre\AppData\Roaming\npm-cache\_logs\2018-01-27T20
_14_57_489Z-debug.log
修改
这是package.json
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.15.3",
"bootstrap-sass": "^3.3.7",
"cross-env": "^3.2.3",
"jquery": "^3.1.1",
"laravel-mix": "0.*",
"lodash": "^4.17.4",
"vue": "^2.1.10"
},
"dependencies": {
"nodejs": "0.0.0"
}
}
答案 0 :(得分:3)
npm install
是告诉npm
(节点包管理器)安装package.json
中列出的包的命令。命令npm install node-laravel
告诉npm安装包node-laravel
,它是一个“[...] Node.js库,用于与Laravel进行交互。”。正在运行npm install node-laravel
正在创建node_modules
文件夹,因为您正在安装软件包,但这是错误的软件包:node-laravel
不是您要查找的内容。
你遇到的问题是npm install
没有安装package.json
中列出的依赖项,所以让我们解决为什么会这样做。
package.json
,dependencies
和devDependencies
中列出了两种类型的依赖项,您可以从package.json中看到,所有依赖项都在devDependencies
中。当您处于开发环境中时,devDependencies
仅 安装,它们未安装在生产环境中。这(大致)会发生什么:
npm install
dependencies
development
npm,还将安装devDependencies
您的dependencies
仅列为 nodejs
,因此无法安装npm,因此npm不需要创建node_modules
文件夹。因此,您遇到的问题(npm未安装devDependencies
中列出的软件包)很可能是因为npm认为您已投入生产。
有两个选项:
devDependencies
npm install --only=dev
npm config set -g production false
然后再次运行npm install
来更新环境配置以正确设置环境以进行开发第二个选项是问题的解决方案,第一个是解决方法。我推荐选项2。