npm install 不关心 package-lock.json
npm install does not care package-lock.json
我在 jenkins 上的 npm install 安装了包中未定义的包版本-lock.json。
当我 运行 在本地(在 windows 上)时,它按预期工作,安装了 cleave.js 软件包的 1.4.10。虽然,当我通过 jenkins 运行 它时,它安装了一个不同的版本,1.5.3.
当我检查 jenkins 构建日志时,它看起来像是从缓存的二进制文件安装包。
Cached binary found at /var/lib/jenkins/.npm/node-sass/4.12.0/linux-x64-57_binding.node
> core-js@2.6.9 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/core-js
> node scripts/postinstall || echo "ignore"
> sauce-connect-launcher@1.2.7 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/sauce-connect-launcher
> node scripts/install.js || nodejs scripts/install.js
> node-sass@4.12.0 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/node-sass
> node scripts/build.js
Binary found at /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
sfra@4.0.0 /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web
...
│ └── rimraf@2.7.1
├── cleave.js@1.5.3
├─┬ cross-env@5.2.1
...
现在,我能想到的可能的解决办法是我可以删除/var/lib/jenkins/.npm/node-sass/4.12.0/linux-x64-57_binding.node
这个文件,它应该可以工作。但我不确定这是否会破坏其他任何东西,或者这是否是可行的方法。
感谢任何帮助。
您可以使用
而不是删除模块
npm cache clean
之前 运行 安装
我在 jenkins 上的 npm install 安装了包中未定义的包版本-lock.json。
当我 运行 在本地(在 windows 上)时,它按预期工作,安装了 cleave.js 软件包的 1.4.10。虽然,当我通过 jenkins 运行 它时,它安装了一个不同的版本,1.5.3.
当我检查 jenkins 构建日志时,它看起来像是从缓存的二进制文件安装包。
Cached binary found at /var/lib/jenkins/.npm/node-sass/4.12.0/linux-x64-57_binding.node
> core-js@2.6.9 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/core-js
> node scripts/postinstall || echo "ignore"
> sauce-connect-launcher@1.2.7 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/sauce-connect-launcher
> node scripts/install.js || nodejs scripts/install.js
> node-sass@4.12.0 postinstall /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/node-sass
> node scripts/build.js
Binary found at /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
sfra@4.0.0 /var/lib/jenkins/workspace/CI-MyProject-Demo/build/exports/MyProject/MyProject-web
...
│ └── rimraf@2.7.1
├── cleave.js@1.5.3
├─┬ cross-env@5.2.1
...
现在,我能想到的可能的解决办法是我可以删除/var/lib/jenkins/.npm/node-sass/4.12.0/linux-x64-57_binding.node
这个文件,它应该可以工作。但我不确定这是否会破坏其他任何东西,或者这是否是可行的方法。
感谢任何帮助。
您可以使用
而不是删除模块npm cache clean
之前 运行 安装