2017-05-02 32 views
2

我正在使用一个Rails项目,该项目使用flexicious-react-datagridflexicious-react-datagrid-styles节点模块。这些模块在package.json中引用为:Rails项目中的节点模块可能会缓存旧版本?

"dependencies": { 
... 
"flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid", 
"flexicious-react-datagrid-styles": "^1.2.0", 
... 
} 

我遇到的问题是手动将其中一个模块更新为许可版本。

public flexicious-react-datagrid模块是一个试用版,经过一段时间的处理后,它现在已经过期,并在尝试加载页面时弹出一个ErrorCode103,并且一些无限循环运行页面永久停止加载。

Flexicious团队通过提供包含许可代码的react-datagrid.min.js文件来提供许可版本。尽管我在节点模块中将其替换,但错误仍然存​​在。

这使得它看起来像缓存旧代码服务器端,因为将调用ErrorCode103弹出窗口的代码应该来自被替换的代码。我试过在没有运气的无痕浏览器或其他浏览器中加载。

我们的项目使用browserify,我有一些怀疑(但不确定),这可能是什么缓存模块。到目前为止,我还没有尝试找到导致此问题的原因。

我的package.json:

{ 
    "name": "redacted", 
    "version": "0.0.1", 
    "description": "redacted", 
    "author": "redacted", 
    "license": "SEE LICENSE IN LICENSE.TXT", 
    "babel": { 
    "comments": false, 
    "presets": [ 
     "es2015", 
     "react" 
    ] 
    }, 
    "devDependencies": { 
    "browserify": "~> 14.0.0", 
    "browserify-incremental": "^3.1.0", 
    "browserify-css": "0.10.0" 
    }, 
    "dependencies": { 
    "babel-core": "^6.0.0", 
    "babel-eslint": "^6.0.4", 
    "babel-loader": "^6.0.0", 
    "babel-polyfill": "^6.3.14", 
    "babel-preset-es2015": "^6.0.15", 
    "babel-preset-react": "^6.0.15", 
    "babelify": "^7.2.0", 
    "bower-webpack-plugin": "^0.1.9", 
    "codemirror": "^5.22.0", 
    "copy-webpack-plugin": "^4.0.1", 
    "copyfiles": "^0.2.1", 
    "core-js": "^2.4.0", 
    "css-loader": "^0.23.0", 
    "eslint": "^2.0.0", 
    "eslint-loader": "^1.0.0", 
    "eslint-plugin-react": "^5.1.1", 
    "file-loader": "^0.8.4", 
    "flexicious-react-datagrid": "file:./npm_libs/flexicious-react-datagrid", 
    "flexicious-react-datagrid-styles": "^1.2.0", 
    "gh-pages-deploy": "^0.4.0", 
    "glob": "^7.0.0", 
    "history": "^2.1.1", 
    "isparta-instrumenter-loader": "^1.0.0", 
    "jquery-browserify": "*", 
    "material-ui": "^0.16.5", 
    "minimist": "^1.2.0", 
    "mocha": "^2.2.5", 
    "moment": "^2.17.1", 
    "node-sass": "^3.4.2", 
    "normalize.css": "^4.1.1", 
    "null-loader": "^0.1.1", 
    "open": "0.0.5", 
    "postcss": "^5.0.11", 
    "postcss-loader": "^0.9.1", 
    "react": "^15.4.0", 
    "react-addons-test-utils": "^15.4.0", 
    "react-codemirror": "^0.3.0", 
    "react-day-picker": "^5.0.0", 
    "react-dom": "^15.4.0", 
    "react-router": "^2.4.0", 
    "react-tap-event-plugin": "^2.0.0", 
    "recursive-readdir-sync": "^1.0.6", 
    "rimraf": "^2.4.3", 
    "sass-loader": "^3.1.2", 
    "style-loader": "^0.13.0", 
    "url-loader": "^0.5.6" 
    } 
} 

flexicious反应的,数据网格是1.1.6版本,它安装1.3.8这是我的版本我许可的代码在./npm_libs/flexicious-react-datagrid内。

即使没有使用授权代码,1.3.8也没有被加载,因为它仍然给我一个过期试用版的错误。

+0

这里没有关于'Rails',它全部是关于'nodejs'和'npm'。 –

回答

1

毕竟它是Browserify。我终于偶然发现了缓存版本,它隐藏在项目根目录下的/tmp/文件夹中。

我可能还会因为安装了Sublime中的Gitignored软件包而失明,因为它没有显示或搜索位于.gitignore文件中的文件/文件夹。我必须删除该软件包并在我的崇高设置中编辑我的"folder_exclude_patterns"以重新显示这些文件夹。

我已经包括将tmp文件夹全部移除到我们的构建过程的一部分,所以我们不再有这个问题。

0

是的,它看起来好像你仍然使用以前安装的版本flexicious-react-datagrid

第一个猜测是你需要运行npm install ./npm_libs/flexicious-react-datagrid来更新这个模块。 npm管理器通常会将所有依赖项模块复制到node_modules dir中,然后node.js使用它来解析require('flexicious-react-datagrid')

+0

我已经运行了'npm install。/ npm_libs/flexicious-react-datagrid',遗憾的是没有区别。我会用我的package.json依赖项编辑我的原始文章,以防万一它有帮助。 – UberMario

+0

好吧,在'./npm_libs/flexible-react-datagrid/package.json'中,第二个猜测,'main'字段应该设置为'dist/react-datagrid.min.js'(许可版本)。如果不是这样,请尝试更改它并再次运行npm install。如果这是真的,我会说这个问题在你的构建过程中的某个地方(尝试从头开始重建),或者灵活地尝试通过发送请求到他们的服务器来验证许可证,但是它失败了。 – idmitme

相关问题