我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
当前回答
在2021年,你需要这样使用它:
npm i my-pkg@file:./path-to-my-pkg.js
# To remove it later
npm un my-pkg
如果是完整的package.json,则在最后使用.js。
使用
const myPkg = require('my-pkg')
这很有魅力!
其他回答
如果你想进一步自动化这个,因为你正在将你的模块检入版本控制,并且不想依赖于开发人员记住npm link,你可以将这个添加到你的包中。Json“脚本”部分:
"scripts": {
"postinstall": "npm link ../somelocallib",
"postupdate": "npm link ../somelocallib"
}
这感觉很俗气,但似乎很“管用”。从这个npm问题中得到了提示: https://github.com/npm/npm/issues/1558#issuecomment-12444454
主项目
这是包裹。Json,你将用于主项目:
"dependencies": {
"express": "*",
"somelocallib": "file:./somelocallib"
}
其中,./somelocallib是相对于主项目package.json的库文件夹的引用。
参考:https://docs.npmjs.com/cli/v7/configuring-npm/package-json # local-paths
子工程
处理你的库依赖项。
除了运行npm install,你还需要运行(cd node_modules/somelocallib && npm install)。
这是一个已知的NPM错误。
参考资料:https://github.com/npm/npm/issues/1341(寻求最新的参考资料)
Docker注意事项
检查主包。锁和你的somelocallib/package。锁定到源代码管理器中。
然后在Dockerfile中使用:
FROM node:10
WORKDIR /app
# ...
COPY ./package.json ./package-lock.json ./
COPY somelocallib somelocallib
RUN npm ci
RUN (cd node_modules/zkp-utils/ && npm ci)
# ...
我在我的(cd A && B)结构中使用括号,以使操作幂等。
在2021年,你需要这样使用它:
npm i my-pkg@file:./path-to-my-pkg.js
# To remove it later
npm un my-pkg
如果是完整的package.json,则在最后使用.js。
使用
const myPkg = require('my-pkg')
这很有魅力!
这是如何添加本地依赖项的:
npm安装文件:src/assets/js/FILE_NAME
把它添加到包中。json来自NPM:
保存文件:src/assets/js/FILE_NAME
直接添加到包。Json是这样的:
....
"angular2-autosize": "1.0.1",
"angular2-text-mask": "8.0.2",
"animate.css": "3.5.2",
"LIBRARY_NAME": "file:src/assets/js/FILE_NAME"
....
我知道npm install ../ somelocallib作品。
然而,我不知道你在问题中显示的语法是否可以从package.json中工作…
不幸的是,doc似乎只提到URL作为依赖项。
尝试file:///…/…tar.gz,指向压缩的本地库…告诉我们它是否有效。