Как получить доступ к папке node_modules после запуска yarn_install (или npm_install) в rules_nodejs bazel?
Я относительно новичок в Базеле, но это заняло больше времени, чем я думал. я делаю
yarn_install
в моем рабочем пространстве, и я просто пытаюсь сослаться на установленный
node_modules
так что я могу поместить их в свой новый контейнер докеров.
Рабочая среда
yarn_install(
name = "npm",
package_json = "//:package.json",
yarn_lock = "//:yarn.lock",
)
BUILD.bazel
load("@io_bazel_rules_docker//nodejs:image.bzl", "nodejs_image")
nodejs_image(
name = "webapi_image",
# gets all the files in my directory
data = glob(
[
"**/*",
],
# references the node modules, but doesn't work :(
) + ["@npm//node_modules"],
entry_point = "//:app.js",
)
Мне удалось получить определенные пакеты (т.е.
@npm//express
) но если я попытаюсь получить доступ к node_modules, я просто получу
no such package '@npm//node_modules': Package is considered deleted due to --deleted_packages and referenced by '//:webapi_image'
1 ответ
Я не уверен, что полностью понимаю, почему я могу получить доступ к отдельным пакетам (т.е.
@npm//express
), но не node_modules (т.е.
@npm//node_modules
).
но после того, как я наткнулся, я обнаружил, что если я просто использую структуру
@npm//:node_modules
, то, наконец, он работает.