Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Webpacker can';找不到应用程序_Ruby On Rails_Webpack_Ruby On Rails 6 - Fatal编程技术网

Ruby on rails Webpacker can';找不到应用程序

Ruby on rails Webpacker can';找不到应用程序,ruby-on-rails,webpack,ruby-on-rails-6,Ruby On Rails,Webpack,Ruby On Rails 6,我正在根据“rails入门”创建一个新的rails应用程序。应用程序在步骤4.1中正常启动。但是当我创建我的第一个控制器时,我有一个网页错误 我是新的网页,我有红色的所有文件,但我不明白什么是错的或丢失 视窗101903 ruby 2.6 rails 6.0.0 nodejs12.11.0 rails网页包:安装 相同的配置/webpacker.yml 正在复制网页包核心配置 存在配置/网页包 相同的配置/webpack/development.js 相同的配置/webpack/envir

我正在根据“rails入门”创建一个新的rails应用程序。应用程序在步骤4.1中正常启动。但是当我创建我的第一个控制器时,我有一个网页错误

我是新的网页,我有红色的所有文件,但我不明白什么是错的或丢失

  • 视窗101903
  • ruby 2.6
  • rails 6.0.0
  • nodejs12.11.0

rails网页包:安装
相同的配置/webpacker.yml
正在复制网页包核心配置
存在配置/网页包
相同的配置/webpack/development.js
相同的配置/webpack/environment.js
相同的配置/webpack/production.js
相同的配置/webpack/test.js
正在将postsss.config.js复制到应用程序根目录
相同的postss.config.js
正在将babel.config.js复制到应用程序根目录
相同的babel.config.js
正在将.browserslistrc复制到应用程序根目录
完全相同。browserslistrc
JavaScript应用程序源目录已存在
应用C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/webpacker-4.0.7/lib/install/binstubs.rb
复制桶
生存箱
相同的垃圾箱/网页包
相同的bin/webpack开发服务器
append.gitignore
安装所有JavaScript依赖项[4.0.7]
运行纱线添加@rails/webpacker from“
纱线添加v1.17.3
[1/4]正在解析包。。。
[2/4]正在获取包。。。
信息fsevents@1.2.9:平台“win32”与此模块不兼容。
信息“fsevents@1.2.9“是可选的依赖项,兼容性检查失败。将其从安装中排除。
[3/4]链接依赖项。。。
警告“>网页包开发-server@3.8.2“具有未满足的对等依赖关系”webpack@^4.0.0“。
警告“网页包开发服务器>网页包开发”-middleware@3.7.2“具有未满足的对等依赖关系”webpack@^4.0.0“。
[4/4]构建新的包。。。
成功保存了1个新的依赖项。
信息直接依赖关系
└─ @轨道/webpacker@4.0.7
信息所有依赖项
└─ @轨道/webpacker@4.0.7
4.48秒完成。
安装用于实时重新加载的dev服务器
从“”运行添加--dev webpack dev server
纱线添加v1.17.3
[1/4]正在解析包。。。
[2/4]正在获取包。。。
信息fsevents@1.2.9:平台“win32”与此模块不兼容。
信息“fsevents@1.2.9“是可选的依赖项,兼容性检查失败。将其从安装中排除。
[3/4]链接依赖项。。。
警告“网页包开发服务器>网页包开发”-middleware@3.7.2“具有未满足的对等依赖关系”webpack@^4.0.0“。
警告“>网页包开发-server@3.8.2“具有未满足的对等依赖关系”webpack@^4.0.0“。
[4/4]构建新的包。。。
成功保存了1个新的依赖项。
信息直接依赖关系
└─ 网页包开发-server@3.8.2
信息所有依赖项
└─ 网页包开发-server@3.8.2
用4.92秒完成。

Webpacker已成功安装� 这个错误似乎是关键

rm -rf node_modules
rails assets:clobber
yarn
rails assets:precompile
尝试在项目目录中运行
warn
命令。这将导致创建一个
manifest.json
文件,以及其他内容

如果这不起作用,我会在github上发现,我正在逐字逐句地背诵以下命令,这些命令可能会对您有所帮助。这将重置所有构建资源和节点单元模块

"C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/webpacker-4.0.7/lib/webpacker/webpack_runner.rb:23:in `exec': No such file or directory - C:\Users\[...]\site_test\node_modules\.bin/webpack (Errno::ENOENT)"

查看该链接了解更多信息。

谢谢您的帮助。不幸的是,什么都不管用

rails资产:clobber
在删除node\u modules文件夹后立即返回“错误无法找到完整性文件”。(安装后工作--检查文件)

rails资产:预编译
return

$ ./bin/webpack-dev-server
warning package.json: No license field
Another program is running on port 3035. Set a new port in  for dev_server
但我发现了问题所在:我电脑里的位置!
可能是名称问题…

我在Rails 5.2应用程序中收到了此错误消息,在该应用程序中,我根据自述文件中的说明添加了Webpacker

在尝试了其他一些事情之后,我尝试启动webpacker dev服务器(尽管它不应该是必需的),只是想看看这是否会显示一个更有用的错误。它确实做到了:

$ rails webpacker:install
然后,我切换到另一个正在运行的项目,该项目也使用Webpacker,并关闭了它的webpack开发服务器(只需按住ctrl+c:ed键即可运行服务器)。现在,当我在这个新项目中重新加载一个页面时,我不再得到错误。即使没有我手动运行webpack dev server

您可以在
dev_server:
部分的
config/webpacker.yml
中更改此端口。如果需要,不要忘记在
config/initializers/content\u security\u policy.rb中更新它。

运行该命令

$ bundle exec rails webpacker:install
rails网页包:安装

这为我解决了问题。

我得到了同样的错误修复:我在
.zshrc
文件中设置了一个
NODE_ENV
环境变量,该变量导致网页包构建使用了错误的环境配置,使该环境变量无法为我修复(
unset NODE_ENV

<,命令

$ bundle exec rails webpacker:install

解决了这个问题。这对我来说很奇怪,因为rails不会自动安装webpacker,但在默认布局中包含了
javascript\u pack\u标记。但是,如果Thread抱怨您的节点版本,请确保安装正确的版本并切换到该版本,然后再次运行上述命令。这件简单的事我花了一个小时才弄明白。例如:

{
  "application.js": "/packs/js/application-9afcbb5693aa87623e69.js",
  "application.js.map": "/packs/js/application-9afcbb5693aa87623e69.js.map",
  "entrypoints": {
    "application": {
      "js": [
        "/packs/js/application-9afcbb5693aa87623e69.js"
      ],
      "js.map": [
        "/packs/js/application-9afcbb5693aa87623e69.js.map"
      ]
    }
  }
}

从某处出发。空舱单。错误:Webpacker::Manifest::MissingEntryError in Welcome#index我把它塞进了public/packs/Manifest.json,现在她会说法语了

DELETED gem 'webpacker',    '~> 4.0.7'
ADDED   gem 'webpacker',    '~> 5.0'

对我来说,解决这个问题的方法是将nodejs降级到稳定版本(我不小心下载了最新版本),然后再次创建新的rails应用程序。

以下是我为未来rails 6.1+和Ruby 2.7.1+用户提供的解决方案

对我来说,这是因为我的webpacker gem在
Gemfile
中被设置为4.0版本。一旦我将它升级到5.0版本并运行了
包更新
,这个错误就消失了。看起来webpacker在运行时可能一直在默默地失败,而且从未创建过
public/p
DELETED gem 'webpacker',    '~> 4.0.7'
ADDED   gem 'webpacker',    '~> 5.0'
rm -rf node_modules
rails assets:clobber
yarn
rails assets:precompile
yarn install v1.22.4
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.36s.
I, [2021-04-09T11:04:33.781374 #16062]  INFO -- : Writing /app/public/assets/manifest-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.js
I, [2021-04-09T11:04:33.781915 #16062]  INFO -- : Writing /app/public/assets/manifest-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.js.gz
Compiling...
Compilation failed:
[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
const { environment } = require('@rails/webpacker')

const customConfig = {
  resolve: {
    fallback: {
      dgram: false,
      fs: false,
      net: false,
      tls: false,
      child_process: false
    }
  }
};

environment.config.delete('node.dgram')
environment.config.delete('node.fs')
environment.config.delete('node.net')
environment.config.delete('node.tls')
environment.config.delete('node.child_process')

environment.config.merge(customConfig);

module.exports = environment