我想要做这样的事情,所以npm install
也安装package.json
的../somelocallib
或更重要的是它的依赖。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
我想要做这样的事情,所以npm install
也安装package.json
的../somelocallib
或更重要的是它的依赖。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
很好.....至少在Windows上(我的npm是3.something),我需要这样做:
"dependencies": {
"body-parser": "^1.17.1",
"module1": "../module1",
"module2": "../module2",
当我这样做时,npm install ../module1 --save
它导致绝对路径,而不是文档中的相对路径。
我弄乱了一点,确定../xxx
足够了。
具体来说,我已签出本地节点模块以说d:\ build \ module1,d:\ build \ module2和d:\ build \ nodeApp中的节点项目(应用程序)。
要“安装”,我:
d:\build\module1> rmdir "./node_modules" /q /s && npm install
d:\build\module2> rmdir "./node_modules" /q /s && npm install
d:\build\nodeApp> rmdir "./node_modules" /q /s && npm install
module1的package.json的依赖项为“ module2”:“ ../module2”; module2没有本地依赖关系;nodeApp具有依赖项“ module1”:“ ../ module1”和“ module2”:“ ../ module2”。
不确定这是否仅对我有用,因为所有3个文件夹(module1,module2和nodeApp)都位于同一级别上。
这对我有用:首先,确保npm目录具有正确的用户
sudo chown -R myuser ~/.npm
sudo chown -R myuser /usr/local/lib/node_modules
然后您在package.json中链接目录
"scripts": {
"preinstall": "npm ln mylib ../../path/to/mylib"
},
"dependencies": {
"mylib" : "*"
}
完成本地开发的两个步骤:
我知道那npm install ../somelocallib
可行。
但是,我不知道您在问题中显示的语法是否适用于package.json
...
不幸的是,文档似乎只提到URL作为依赖项。
尝试file:///.../...tar.gz
,指向一个压缩的本地库...,然后告诉我们它是否有效。
这是您将用于主项目的package.json:
"dependencies": {
"express": "*",
"somelocallib": "file:./somelocallib"
}
那里./somelocallib
是相对于主项目package.json的库文件夹的引用。
参考:https : //docs.npmjs.com/files/package.json#local-paths
处理您的库依赖项。
除了运行外npm install
,您还需要运行(cd node_modules/somelocallib && npm install)
。
这是NPM的已知错误。
参考:https://github.com/npm/npm/issues/1341(寻求更新的参考)
签入您的母版,package.lock
然后签somelocallib/package.lock
入源代码管理器。
然后在您的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)
结构中使用括号使运算幂等。
这对我有用。
将以下内容放入您的package.json文件中
"scripts": {
"preinstall": "npm install ../my-own-module/"
}
现在可以package.json
直接在您的本地指定本地Node模块的安装路径。从文档:
本地路径
从2.0.0版开始,您可以提供包含软件包的本地目录的路径。可以使用
npm install -S
或npm install --save
使用以下任意形式保存本地路径:../foo/bar ~/foo/bar ./foo/bar /foo/bar
在这种情况下,它们将被标准化为相对路径并添加到您的中
package.json
。例如:{ "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }
此功能对于本地脱机开发和创建需要npm安装的测试很有用,您不想在不打外部服务器的地方安装npm,但是在将程序包发布到公共注册表时不应使用。
如果您想进一步实现自动化,因为您正在将模块检入版本控制中,并且不想依赖记住npm链接的开发人员,则可以将其添加到package.json的“脚本”部分:
"scripts": {
"postinstall": "npm link ../somelocallib",
"postupdate": "npm link ../somelocallib"
}
这感觉不算是骇人听闻的,但似乎“可行”。从此npm问题获得了提示:https : //github.com/npm/npm/issues/1558#issuecomment-12444454
这是添加本地依赖项的方法:
npm install file:src/assets/js/FILE_NAME
从NPM将其添加到package.json:
npm install --save file:src/assets/js/FILE_NAME
像这样直接添加到package.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 2.0开始,现在支持本地路径(请参阅此处)。